我目前是laravel的新手,我非常高兴真正开始使用它。当我通过网站从非框架标准过渡到Laravel时,我希望尽可能地跟踪组织。
根据我的理解,控制器应仅用于一个主要目的,以便您可以将其作为:
运行Route::get("/", "TestController@run"); //example
此控制器应仅为该特定功能生成数据。
我的问题是,在我的网站上,我将有两个独立的脚本需要将数据传送到我的前端。
在一个控制器中连接两个数据是否可以接受,或者这是不好的做法? 有更清洁的方法吗?
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class TestController extends Controller
{
protected $data1 = [];
protected $data2 = [];
public function __construct()
{
$this->middleware('auth');
}
public function run()
{
return view("welcome", array_merge($this->data1, $this->data2));
}
protected function getData1
{
$this->data1 = [somedata..]
}
protected function getData2
{
$this->data2 = [somedata..]
}
}
答案 0 :(得分:0)
这是可以接受的。为了便于阅读,我个人会分开。您还可以使用with
方法绑定数据。
return view('welcome')
->with('data1', $this->getData(1))
->with('data2', $this->getData(2));