我有一些设置器的类,我希望使用设置器注入,但是使用 RuntimeDefinition 它只是没有触发。我最初认为这可能是不可能的,但后来我升级到 Zend 2.1.0 并开始收到我的 Zend\Db\Adapter\Adapter 错误,因为引入了新的 setProfiler() 方法,所以它被注入到其他一些类中,并且它正在尝试对其进行 setter 注入(同时使用默认的 RuntimeDefinition)。我查看了 Adapter 的代码,我发现该代码与我的代码之间的唯一区别是 setProfiler() 方法中有一些带有 @param 的文档注释,所以我认为反射可能使用它。我在我的代码中添加了一些,它也不起作用。显然我错过了一些东西。即使我编译成 DI 定义文件,
'methods' =>
array (
'__construct' => true,
'setProfiler' => true,
)
而我的定义是这样的:
'methods' =>
array (
'setMyValue' => false,
)
如何让 Di 正确识别我的 setter 函数,以便它们习惯于注入必要的值?