我将Doctrine 2
集成到我的Zend
项目中。如果您使用Doctrine
,则会将数据定义放在Entity\MyEntity.php
中,而不是(如tutorial中所示)Model\MyModel.php
。
本教程使用 MyModelTable.php 作为管理器,您可以在其中定义fetchAll()
等查询。
如何使用Doctrine存档?我可以删除我的model
目录吗?
答案 0 :(得分:3)
您使用的是DoctrineORMModule吗?这将Doctrine正确地集成到ZF即服务中。完成此操作后,对于包含Doctrine实体的每个模块,将其添加到module.config.php中:
<?php
namespace YourModul;
return array(
// ... your module configuration ...
'doctrine' => array(
'driver' => array(
__NAMESPACE__ . '_driver' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(
__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity'
),
),
'orm_default' => array(
'drivers' => array(
__NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver'
),
),
),
),
);
这会将Doctrine配置为使用默认的DBAL驱动程序在modules/YourModule/src/YourModule/Entity/
中查找注释配置的实体。
您还需要按照DoctrineORMModule page中的说明配置Doctrine的DBAL组件。
要清理,您只需删除模型目录并使用您定义的实体类。其他一切照常工作。