我想知道以这种方式在控制器中使用我的模型类是否是一个好习惯:
public function __construct(Rule $rules)
{
$this->rules = $rules;
}
我不想在我的控制器中重复自己,所以我想知道什么是最好的方法
答案 0 :(得分:2)
您使用依赖注入 - 这是非常好的做法。
根据文件: 依赖注入是一个奇特的短语,本质上意味着:类依赖性通过构造函数“注入”类,或者在某些情况下,“注入”方法。
month = []
count = []
array_of_hash.each do |hash|
month << hash['month']
count << hash['count']
end
在此示例中,UserController需要从数据源检索用户。因此,我们将注入一个能够检索用户的服务。在此上下文中,我们的UserRepository最有可能使用Eloquent从数据库中检索用户信息。但是,由于注入了存储库,我们可以轻松地将其与另一个实现交换出来。我们还可以在测试应用程序时轻松“模拟”或创建UserRepository的虚拟实现。
另请阅读Service Container - 它是强大的工具: https://laravel.com/docs/5.6/container
答案 1 :(得分:0)
在控制器中注入模型是一种很好的做法,但推荐的方法是:
建议您使用其他类(如存储库,单例或您希望注入的任何功能)时使用的构造函数方法,请参阅文档以获取更多信息:https://laravel.com/docs/5.6/container
希望这有帮助