我在lavarel Web应用程序中创建了一个非常基本的命令:
$ php artisan make:command MyCommand
我需要访问句柄函数中的存储库。
对于我来说,存储库类基本上是静态类。
我已经阅读了一些教程,并且已经阅读了我需要添加存储库作为以这种方式处理函数的参数:
public function handle(MyRepository $repo)
{
...
}
有效!
我的问题是为什么它起作用? php如何猜测使用此参数调用句柄函数?
是依赖注入吗?
谢谢
答案 0 :(得分:0)
Laravel知道要解决依赖关系,因为它通过其容器而不是直接调用该方法:https://github.com/laravel/framework/blob/862c4529edfce579bf7746797b7f95e4aed304a0/src/Illuminate/Bus/Dispatcher.php#L94
如果您好奇某些工作原理,那么很值得深入研究框架源代码。