51systems/doctrine-extensions-module

此包已被废弃且不再维护。没有建议的替代包。

Doctrine2 扩展

v1.3.2 2016-11-21 00:07 UTC

This package is not auto-updated.

Last update: 2023-11-12 05:23:20 UTC


README

Build Status

Doctrine2 ORM 扩展集合

功能

  • 控制器插件
    • EntityManagerProvider (entityManagerProvider) - 返回 orm_default 实体管理器
    • AuthenticatedUserProvider (authenticatedUserProvider) - 获取当前认证的用户(如果有)
    • InitFormPlugin (initForm) - 初始化可能需要实体管理器的表单。同时也设置了一个 doctrine 对象水化器。
  • 数据固定
    • AddIfNotPresentTrait - 辅助特质,用于轻松地仅添加已存在于数据库中的固定实体
  • 类型
    • UTCDateTime (utc_datetime) 类型,根据 Doctrine 食谱。在查询时请小心使用
  • Gedmo 扩展
    • Timestampable
      • 扩展 Timestampable 扩展以支持 UTCDateTime (utc_datetime)。在配置文件中应使用 DoctrineExtensions\Gedmo\Timestampable\TimestampableListener 替代 Gedmo\Timestampable\TimestampableListener
  • 水化器
    • 单列水化器
  • ORM
    • 仓库
      • SubclassRepositoryFactory,它将返回一个使用类层次结构中最定义的仓库定义的仓库
    • 特质
      • UTCTimestampableEntity - 使用 UTCDateTime Timestampable 行为
      • EntityManagerAwareTrait - 为对象提供获取和设置 EntityManager 实例的方法。
    • 别名
      • 一个更智能的别名,用于与 doctrine 查询构建器一起使用。允许构建/链式多个别名进行子查询。

跳过器

为了在跳过器中使自定义类型正常工作,您需要创建一个 自定义配置文件 并包含以下内容

<ormd2-configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <orm-configuration name="Doctrine2">
  <data-types>
   <data-type name="utc_datetime"/>
  </data-types>
 </orm-configuration>
</ormd2-configuration>

安装

通过 composer 安装。

在 application.config.php 中将 DoctrineExtensions 添加到模块中

配置设置

将 doctrine-extensions.global.php.dist 复制到您的配置目录,并将其重命名为 doctrine-extensions.global.php。根据需要进行修改。

测试

一些单元测试依赖于其他模块的测试类。在安装 composer 时使用 --prefer-source 以运行它们。