简单理解Laravel中的控制反转和依赖注入 (非权威,仅供参考)

首先从概念上来说,依赖注入是控制反转的一种具体实现。

而从PHP面向对象的角度来说,控制反转是想解决,A类依赖于B类,而在一般情况下A 类想要使用B类的方法,需要先New 一个B类。所以对于B类的控制权在于A类手中。

但是这样的坏处就是,假如B 类又依赖于C 类,这样下去,就会很麻烦,因为互相依赖太多。

而控制反转就可以  使用一个    另外的类,假如说是IOC类,这个类专门用来生成各种对象,然后将这些生成的对象以参数传递的方式放入所需要的类。

而IOC 类的具体实现 在laravel中使用的是 PHP 反射机制,就可以拿到PHP的构造方法或者什么方法 传递过来的所需要的类。

把这些类在进行实例化,如果这个类还依赖于其他类,那么递归调用。

总结一下:

1.依赖注入是控制反转的一种具体实现。

2.laravel中的依赖注入 是利用 PHP的反射机制, 加上递归进行处理的。

先简单记录下。。。供参考。

猜你喜欢

转载自blog.csdn.net/wuye_lh/article/details/107206502