我开始开发新的应用程序,这是我用ZF2编写的第一个应用程序。我对使用Doctrine1进行ZF1应用有一些经验,但现在我想使用ZF2和Doctrine2进行应用。 默认实体文件夹位于模块目录中。我想有一个模型文件夹,它在整个应用程序中共享。所以我准备了这样的应用程序结构:ZF +主义 - 模型文件夹的本地化本地化
config
models
generated
module
Administration
Application
public
vendor
我设计了数据库(MySQL)并使用Doctrine CLI将它导入到XML表单。我也生成了模型。但现在我有问题 - 如何在我的模块中使用它?我准备了一些代码:
protected $em;
public function setEntityManager(EntityManager $em)
{
$this->em = $em;
}
public function getEntityManager()
{
if (null === $this->em) {
$this->em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
}
return $this->em;
}
public function indexAction()
{
return new ViewModel(array(
'carriers' => $this->getEntityManager()->getRepository('Carrier')->findAll()
));
}
而且我有一个错误'Class Carrier not found'。这是一个路径问题,但我在ZF2中是全新的,我不知道如何配置它......
我已经把这个代码到我的模块/应用/配置/ module.config.php: \t“教义 '=>数组( \t 'orm_autoload_annotations'=>真, \t '司机'=>数组( \t __NAMESPACE__。 '_driver'=>数组( \t '类'=>' 学说\ ORM \映射\驱动\ XmlDriver', \t'cache'=>'array', \t'paths'=> array(__ DIR__。 '/../../../models') \t) \t 'orm_default'=>数组( \t '司机'=>数组( \t __NAMESPACE__。 '\实体'=> __NAMESPACE__。“_driver ' \t) \t) \t) 但仍然出现上述错误。 –
请参阅更新的答案,错误可能只是错误的方法来调用存储库 – Sam
不幸的是,我仍然有相同的错误(只是差异是错误消息中类的名称) –