laravel命令句柄功能依赖注入

时间:2018-07-19 09:58:43

标签: laravel

我在lavarel Web应用程序中创建了一个非常基本的命令:

$ php artisan make:command MyCommand

我需要访问句柄函数中的存储库。

对于我来说,存储库类基本上是静态类。

我已经阅读了一些教程,并且已经阅读了我需要添加存储库作为以这种方式处理函数的参数:

public function handle(MyRepository $repo)
{
    ...
}

有效!

我的问题是为什么它起作用? php如何猜测使用此参数调用句柄函数?

是依赖注入吗?

谢谢

1 个答案:

答案 0 :(得分:0)

Laravel知道要解决依赖关系,因为它通过其容器而不是直接调用该方法:https://github.com/laravel/framework/blob/862c4529edfce579bf7746797b7f95e4aed304a0/src/Illuminate/Bus/Dispatcher.php#L94

如果您好奇某些工作原理,那么很值得深入研究框架源代码。