fanst1109 / doctrine-orm-module
该软件包已被弃用且不再维护。作者建议使用 doctrine-orm-module 软件包。
提供 Doctrine ORM 功能的 Zend Framework 3 模块
此软件包尚未发布任何版本,且信息很少。
README
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.*`)
然后,将 DoctrineModule
和 DoctrineORMModule
添加到您的 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');