我有一个问题,哪个是更好的做事方式。
控制器
public function __construct(User $user)
{
$this->users = $user;
........................
}
public function index()
{
$users = array();
//I did this, cause a user class has been instantiated already in the construct function.
$users = $this->users->all();
//This is what I read on the docs, static method of calling records
$users = User::all();
}
问题在于拉拉维尔的做事方式是什么?
答案 0 :(得分:0)
我会说$users = User::all()
是更多Laravel式的方式。
我还会质疑该构造函数中的代码。您要求容器传入用户(单数),然后将其分配给名为$users
的复数属性。对我来说似乎有点狡猾!
举例来说,我的控制器构造函数通常如下所示:
public function __construct(UserRepository $userRepository)
{
$this->userRepository = $userRepository;
...
}
我的一般目标是在控制器中保留尽可能少的代码,并使存储库和其他业务对象完成繁重的任务。