【发布时间】:2013-08-06 14:37:15
【问题描述】:
我正在尝试在 azure 网站上配置 Zend 2 + 学说 2。我们无法访问 Windows azure 网站上的命令行,因此我们无法执行 php composer.phar 更新来修复学说模块,以便 zend 可以加载它们。我收到以下错误消息
Zend\ServiceManager\ServiceManager::get 无法获取或创建doctrine.entitymanager.orm_default 的实例
在我的本地机器上,我已将 application.config.php 文件中的模块加载为
'modules' => array(
'Rest',
'Front',
'DoctrineModule',
'DoctrineORMModule'
),
但在 azure 上,它无法加载 DoctrineModule 和 DoctrineORMModule。
然后我决定删除学说模块以像这样加载。我正在尝试将它们加载为
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'Doctrine\Common' => __DIR__ . '/../../library/vendor/doctrine/common',
'Doctrine\DBAL' => __DIR__ . '/../../library/vendor/doctrine/dbal',
'Symfony\Console' => __DIR__ . '/../../library/vendor/symfony/console',
'DoctrineModule' => __DIR__ . '/../../library/vendor/doctrine/doctrine-module',
'DoctrineORMModule' => __DIR__ . '/../../library/vendor/doctrine/doctrine-orm-module',
),
),
);
}
在 Module.php 中,但现在它无法使用 ServiceManager 获取教义.entitymanager.orm_default(如上所示)。我应该怎么办 ?我应该如何在 zend 应用程序中手动加载学说模块的所有内容。请提出建议。
【问题讨论】:
-
如果由于某种原因你没有使用 Doctrine 命令,那么你将不得不手动生成你需要的代码的 Respected 部分。例如,这些命令可以帮助您生成数据库架构等。但是对于您的情况,您必须在某个模块 public function getServiceConfig() {return array( 'factories' => array( 'EntityManager' = > function($SM) { $EM = $SM->get('doctrine.entitymanager.orm_default'); return $EM;},),);}
-
暂时尝试将代码部分放在属于应用程序模块的 Module.php 文件中
标签: azure web doctrine-orm zend-framework2