PHP DI容器 - 读取构造函数请求的对象

时间:2014-05-11 15:08:01

标签: php oop dependency-injection

我需要创建一个DI容器,它会自动注入所需的依赖项。

我只有一个想法, 假设我已经使用容器初始化了一个控制器,容器将获得该对象的命名空间,然后它将检测它请求的依赖项。容器应该获取需要注入的依赖项的名称空间,然后它将创建它们,然后创建一个新的对象,这些depndencies并返回它。

但问题是,如何检查构造函数在php中请求的依赖项?

1 个答案:

答案 0 :(得分:1)

ReflectionFunction::getParameters() or ReflectionMethod::getParameters()返回ReflectionParameter instances数组。

现在在ReflectionParameter个实例上,您可以使用ReflectionParameter::getClass()来获取所需的课程。

要获取班级名称,您需要访问由name返回的ReflectionClass的{​​{1}}属性。