我从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
但是当我尝试使用它们时,它找不到文件。
不知道是否有建议或最佳做法 - 或者如何完成我正在做的事情?
谢谢!
答案 0 :(得分:3)
最佳做法的建议是将所有内容保留在模块中。 Zf2是模块化应用程序,数据访问等服务也应该是模块的一部分。我建议你也将这个“通用”结构创建为一个模块(下面是ZF2骨架模块的链接)。
https://github.com/zendframework/ZendSkeletonModule
在下面的链接中,您将找到有关如何准备模块并从中准备服务管理器的一些有用信息,以提供这些映射器和实体。
http://framework.zend.com/manual/2.0/en/modules/zend.module-manager.intro.html
希望这会有所帮助:)