在znd框架zf2中添加多个模块

时间:2014-02-21 05:47:19

标签: php zend-framework2

我使用zf2开发我的Web应用程序

我有多个模块可供使用。但是当我在application.config.php文件中启动所有模块时,它将用第二个模块覆盖第一个模块的服务。

例如

在我的application.config

'modules' => array(
    'Application',
    'ZfcAdmin',
),

应用程序模块的服务由ZfcAdmin模块

覆盖

我已经为两个模块使用了不同的命名空间

由于 萨姆

1 个答案:

答案 0 :(得分:0)

这是一项功能。假设如果您从两个模块提供相同的服务,那么它们都将履行相同的角色。

这个概念是ZF2的核心优势之一。想要覆盖Zend内置的东西吗?或者第三方模块中的组件?为您的服务提供与您要覆盖的服务相同的名称。

要解决您的问题,请将ZfcAdmin中的Countrytablegateway重命名为ZfcAdminCountrytablegateway,或者不要为您的服务提供简短(非命名空间)名称或别名。例如

'service_manager' => array(
    'invokables' => array(
        'ZfcAdminCountrytablegateway' => 'ZfcAdmin\Gateway\Countrytablegateway',
    )
)

'service_manager' => array(
    'invokables' => array(
        'ZfcAdmin\Gateway\Countrytablegateway' => 'ZfcAdmin\Gateway\Countrytablegateway',
    )
)