Zend Framework 2 - Doctrine 2 - 如何处理Zend标准模型

时间:2012-12-21 11:05:28

标签: php database model doctrine-orm zend-framework2

我将Doctrine 2集成到我的Zend项目中。如果您使用Doctrine,则会将数据定义放在Entity\MyEntity.php中,而不是(如tutorial中所示)Model\MyModel.php

本教程使用 MyModelTable.php 作为管理器,您可以在其中定义fetchAll()等查询。

如何使用Doctrine存档?我可以删除我的model目录吗?

1 个答案:

答案 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组件。

要清理,您只需删除模型目录并使用您定义的实体类。其他一切照常工作。