php之控制反转容器(Ioc Container)
6800
0
0
上一节文末,我们抛出了一个问题:如何解决注入引起的更复杂的问题?
有些人可能还没明白这个问题是怎么回事。
我们来详细的描述一下:
首先我们假设A依赖B和C,B依赖D,C依赖E,D依赖F,现在我们来看看怎么实例化A?
$a = new A(new B(new D(new F)), new C(new E()));
是不是感觉要崩溃了,实例化A之前就得先知道它依赖哪些类。
从一开始我们为了解决依赖的问题,到现在依赖却成了最棘手的问题,怎么办?
有人提出:如果我们也有一个类似composer的管理容器,在实例化A的时候,能够解决各个类之间的依赖问题是不是就很ok了?
没错,就是这样。
php有一个IoC容器的概念,其作用,就是帮助我们解决这个问题。
IoC容器又是什么?所谓的IoC容器呢,并没有多么高大上,它其实就是一个类,为了解决依赖问题,IoC应该提供如下功能:
- 存储定义的类
- 实例化类
下面来看一个简版的实现
Class Contai
还有90%的精彩内容,购买继续阅读
- 评论区
共46条评论
登录
后发布评论