php – ZF2 – ServiceManager注入84个表……乏味

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – ZF2 – ServiceManager注入84个表……乏味脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
几个月前,我在关于Zf2在Beta 1期间注入DI的表格中做了另一个关于这个问题的线索,然后发现它确实不可能.现在ZF2已经发布为版本2.0.0而ServiceManager认为而不是DI我想我现在有相同的问题我正在重构.

我有84个桌子需要DbAdapter注入它们,我确信必须有一个更好的方法,因为我正在复制自己.

public function getServiceConfig()
{
    return array(
        'factories' => array(
            'accountTable' => function ($sm) {
                $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                $table     = new Model\DBTable\AccountTable($dbAdapter);
                return $table;
            },'userTable' => function ($sm) {
                $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                $table     = new Model\DbTable\UserTable($dbAdapter);
                return $table;
            },// another 82 tables of the above
        )
    )
}

使用EventsManager和ServiceManager,我不知道我在获取应用程序的实例/资方面的立场.

谢谢,Dom

解决方法

通过这样的大量注入,您最好创建一个服务管理器inITalizer,然后实现像DbAdapterAwareinterface这样的接口.如果你想看到这个想法,请看一下zf2代码库中的EventManagerAwareInterface.

脚本宝典总结

以上是脚本宝典为你收集整理的php – ZF2 – ServiceManager注入84个表……乏味全部内容,希望文章能够帮你解决php – ZF2 – ServiceManager注入84个表……乏味所遇到的问题。

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

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