fanst1109/doctrine-orm-module

该软件包已被弃用且不再维护。作者建议使用 doctrine-orm-module 软件包。

提供 Doctrine ORM 功能的 Zend Framework 3 模块

此软件包尚未发布任何版本,且信息很少。


README

Master branch build status Scrutinizer Quality Score Code Coverage Latest Stable Version Total Downloads

DoctrineORMModule 可以快速轻松地将 Doctrine 2 ORM 与 Zend Framework 3 集成。

  • Doctrine 2 ORM 支持
  • 多个 ORM 实体管理器
  • 多个 DBAL 连接
  • 在 DBAL 连接中重用现有的 PDO 连接

安装

此模块的安装使用 composer。有关 composer 文档,请参阅 getcomposer.org

php composer.phar require fanst1109/doctrine-orm-module
# (When asked for a version, type `0.*`)

然后,将 DoctrineModuleDoctrineORMModule 添加到您的 config/application.config.php 中,创建目录 data/DoctrineORMModule/Proxy,并确保您的应用程序有权写入它。

不使用 composer 的安装不受官方支持,并且需要您手动安装 composer.json 中列出的所有依赖项。

实体设置

要使用 ORM 注册您的实体,请为每个实体命名空间中的模块(合并)配置添加以下元数据驱动程序配置

<?php
return array(
    'doctrine' => array(
        'driver' => array(
            // defines an annotation driver with two paths, and names it `my_annotation_driver`
            'my_annotation_driver' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'cache' => 'array',
                'paths' => array(
                    'path/to/my/entities',
                    'another/path'
                ),
            ),

            // default metadata driver, aggregates all other drivers into a single one.
            // Override `orm_default` only if you know what you're doing
            'orm_default' => array(
                'drivers' => array(
                    // register `my_annotation_driver` for any entity under namespace `My\Namespace`
                    'My\Namespace' => 'my_annotation_driver'
                )
            )
        )
    )
);

连接设置

可以在应用程序配置中定义连接参数

<?php
return array(
    'doctrine' => array(
        'connection' => array(
            // default connection name
            'orm_default' => array(
                'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
                'params' => array(
                    'host'     => 'localhost',
                    'port'     => '3306',
                    'user'     => 'username',
                    'password' => 'password',
                    'dbname'   => 'database',
                )
            )
        )
    ),
);

完整的配置选项

完整的配置选项列表可以直接在各个模块的选项类中找到。

有关模块功能的文档可以在以下链接中找到

已注册的服务名称

  • doctrine.connection.orm_default:一个 Doctrine\DBAL\Connection 实例
  • doctrine.configuration.orm_default:一个 Doctrine\ORM\Configuration 实例
  • doctrine.driver.orm_default:默认映射驱动程序实例
  • doctrine.entitymanager.orm_default:一个 Doctrine\ORM\EntityManager 实例
  • Doctrine\ORM\EntityManager:是 doctrine.entitymanager.orm_default 的别名
  • doctrine.eventmanager.orm_default:一个 Doctrine\Common\EventManager 实例

命令行

以下是如何访问 Doctrine 命令行的示例

./vendor/bin/doctrine-module

服务定位器

要访问实体管理器,请使用主要服务定位器

// for example, in a controller:
$em = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
$em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');