我需要创建一个DI容器,它会自动注入所需的依赖项。
我只有一个想法, 假设我已经使用容器初始化了一个控制器,容器将获得该对象的命名空间,然后它将检测它请求的依赖项。容器应该获取需要注入的依赖项的名称空间,然后它将创建它们,然后创建一个新的对象,这些depndencies并返回它。
但问题是,如何检查构造函数在php中请求的依赖项?
答案 0 :(得分:1)
ReflectionFunction::getParameters()
or ReflectionMethod::getParameters()
返回ReflectionParameter
instances数组。
现在在ReflectionParameter
个实例上,您可以使用ReflectionParameter::getClass()
来获取所需的课程。
要获取班级名称,您需要访问由name
返回的ReflectionClass
的{{1}}属性。