我将Doctrine 2
集成到我的Zend
项目中。如果使用Doctrine
,则将数据定义放在Entity'MyEntity.php
中,而不是(如教程中所示)放在Model'MyModel.php
中。
本教程使用MyModelTable.php作为管理器,您可以在其中定义fetchAll()
等查询。
我如何将它归档到Doctrine?我可以删除我的model
目录吗?
是否使用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配置为在modules/YourModule/src/YourModule/Entity/
中查找注解配置的实体,使用默认的DBAL驱动程序。
你还需要配置Doctrine的DBAL组件,如DoctrineORMModule页面中所描述的。
为了进行清理,您可以简单地删除您的模型目录并使用您定义的实体类。