php – ZF2 – ServiceManager依赖于控制器

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – ZF2 – ServiceManager依赖于控制器脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将我的beta DI代码转换为Zf2的发布版本. @H_126_5@现在我一开始就摔倒了,似乎没有任何关于向控制器中注入东西的文档让我觉得在控制器中有依赖关系是不正常的?

现在我只是做一个var_dump(‘blah’);退出;只是试着让一些代码运行…
我已经尝试了很多东西,现在我希望这可以工作:

module.config.PHP

'controllers' => array(
    'invokables' => array(
        'indexController' => 'Application\Controller\IndexController',)
)

Module.PHP

public function getControllerConfig() {
    return array(
        'factories' => array(
            'indexController'    => function(ControllerManager $cm) {
                VAR_dump('blah');exIT;
            },),);
}

现在没有任何事情发生,而且非常令人沮丧……我读到了关于为每个控制器创建工厂的一些内容,但我有33个,我发现这非常疯狂和愚蠢…?

我想要注入的东西就像用户抓取/保存用户一样.因此registerAction使用userMapPEr在数据库中创建用户,当您尝试登录时,使用userMapper检查是否用户等.

解决方法

这里的问题是’indexController’被定义为可调用和工厂.我认为它首先检查invokable,所以当它找到它正在寻找的东西时,它永远不会尝试在工厂中运行代码.只需删除’invokables’数组中的条目即可.

我刚刚写了一篇关于这个主题文章.您可以使用闭包来代替为每个控制器创建单独的工厂类.如果依赖项是可调用的,或者使用Options数组轻松配置,则更容易,您只需要一个列出可以注入的类的数组.查看http://zendblog.shinymayhem.com/2013/09/using-servicemanager-as-inversion-of.html

脚本宝典总结

以上是脚本宝典为你收集整理的php – ZF2 – ServiceManager依赖于控制器全部内容,希望文章能够帮你解决php – ZF2 – ServiceManager依赖于控制器所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。