Zend框架2 -原则2 -如何处理Zend标准模型


Zend Framework 2 - Doctrine 2 - How to deal with Zend standard model

我将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页面中所描述的。

为了进行清理,您可以简单地删除您的模型目录并使用您定义的实体类。