为了实现JavaScript和Java背景,我发现Laravel(或PHP)中的依赖注入极其混乱。Laravel中的依赖注入
例如(Laravel 5.1),在Middleware/Authenticate构造函数中需要一个Guard对象。我有搜索代码库和类Authenticate从未实例化。
那么警卫从哪里来? SKY。
谢谢,SK。
为了实现JavaScript和Java背景,我发现Laravel(或PHP)中的依赖注入极其混乱。Laravel中的依赖注入
例如(Laravel 5.1),在Middleware/Authenticate构造函数中需要一个Guard对象。我有搜索代码库和类Authenticate从未实例化。
那么警卫从哪里来? SKY。
谢谢,SK。
看那laravel文档:
依赖注入是一个奇特的短语,基本上是指这样的:class依赖关系通过构造“注入”类或在某些情况下,“二传手”的方法。 http://laravel.com/docs/5.1/container
您可以在您的代码中实例化Guard或从某个地方获取Guard的实例,并将其传递给Middleware/Authenticate构造函数。
编辑: Guard在某些时候自动注入到Middleware/Authenticate中的某些内容在laravel框架代码中。你最好看一看Laravel中Dependency injection的不同例子,其中所有代码都可见。
大部分Laravels使用反射工作:http://php.net/manual/en/intro.reflection.php和php的神奇方法:http://php.net/manual/en/language.oop5。 magic.php。您不一定会找到直接实例化的对象。 –
@craig_h谢谢,有用的信息 –