ZF2为所有模块的数据库访问创建通用库

时间:2013-03-22 01:43:48

标签: php zend-framework2

我从ZF2开始,我有一个应用程序,其中有多个模块被视为不同的“网站”。我希望有一个处理所有数据访问的公共库。

理想情况下,我会在根目录中创建类似“common”的东西,其中包含实体,映射器和服务。

我已经这样做了,但我似乎无法自动加载模块上下文之外的新命名空间。

我尝试过使用:

    Zend\Loader\AutoloaderFactory::factory(array(
        'Zend\Loader\StandardAutoloader' => array(
            'autoregister_zf' => true,
            'namespaces' => array(
                'Common' => dirname(__DIR__) . '/site/common',
            )
        )
    ));

然后我创建了目录结构:

Common/Entity/User/User.php
Common/Mapper/User/User.php

但是当我尝试使用它们时,它找不到文件。

不知道是否有建议或最佳做法 - 或者如何完成我正在做的事情?

谢谢!

1 个答案:

答案 0 :(得分:3)

最佳做法的建议是将所有内容保留在模块中。 Zf2是模块化应用程序,数据访问等服务也应该是模块的一部分。我建议你也将这个“通用”结构创建为一个模块(下面是ZF2骨架模块的链接)。

https://github.com/zendframework/ZendSkeletonModule

在下面的链接中,您将找到有关如何准备模块并从中准备服务管理器的一些有用信息,以提供这些映射器和实体。

http://framework.zend.com/manual/2.0/en/modules/zend.module-manager.intro.html

希望这会有所帮助:)