restoclub/doctrine-extensions

Doctrine2 行为扩展

v2.4.31 2017-08-01 09:36 UTC

README

Build Status Latest Stable Version

注意: 2.4.x 版本之后的扩展可能不会再进一步发展,它将保持稳定并向后兼容。除非有新的感兴趣维护者接管开发并继续进行 3.x 版本的开发。

注意: 2.4.x 版本的扩展与 ORM 和 doctrine common 库的 2.2.x 到 2.5.x 版本兼容。ORM 2.5.x 版本需要 PHP 5.4 或更高版本。

注意: 2.3.x 版本的扩展与 ORM 和 doctrine common 库的 2.2.x 到 2.4.x 版本兼容。如果你在没有框架的情况下设置实体管理器,请参阅 示例 以防止出现 #1310 类似的问题。

最新更新

2016-01-27

  • 嵌套树现在允许根字段作为关联。

2015-05-01

2015-03-26

支持 ORM 和 Common 库 2.5.0。由于 trait 列表更改,这是一个小版本号的提升。

2015-01-28

修复了所有映射的问题,当关系或类名在同一个命名空间中时,这会导致相关类映射失败,但扩展需要将其映射为完全限定名称。

2015-01-21

修复了实体或文档包装器中的内存泄漏问题,便于检索元数据。

摘要和特性

此软件包包含 Doctrine2 的扩展,这些扩展利用 Doctrine 的功能,提供新的功能或工具以更有效地使用 Doctrine2。此软件包包含大多数常用的行为,可以轻松地附加到 Doctrine2 的事件系统中,并按行为方式处理被刷新的记录。扩展列表

  • - 此扩展自动化树处理过程,并在存储库中添加一些特定于树的函数。(闭包嵌套集物化路径
  • 可翻译的 - 为您提供了将记录翻译成不同语言的非常实用的解决方案。易于设置,更易于使用。
  • 可缩略的 - 将指定的字段转换为单个唯一的缩略名。
  • 可时间戳的 - 在创建、更新甚至属性更改时更新日期字段。
  • 可指责的 - 在创建、更新甚至属性更改时更新字符串或引用字段,使用字符串或对象(例如用户)。
  • 可记录的 - 帮助跟踪对象的更改和历史记录,也支持版本管理。
  • 可排序 - 使任何文档或实体可排序
  • 翻译器 - 处理翻译的显式方式
  • 软删除 - 允许隐式删除记录
  • 可上传 - 在实体字段中提供文件上传处理
  • 引用 - 支持在文档中链接实体,反之亦然
  • 引用完整性 - 限制ODM MongoDB文档引用
  • IP可追踪 - 继承自时间戳,设置IP地址而不是时间戳

目前这些扩展支持 YamlAnnotationXml 映射。可以通过使用映射扩展轻松实现额外的映射驱动来处理额外的元数据映射。

注意:请注意,xml映射需要位于不同的命名空间中,Doctrine扩展声明的命名空间为 http://gediminasm.org/schemas/orm/doctrine-extensions-mapping 因此根节点现在看起来是这样的

注意:使用 2.1.x 标签以使用基于 Doctrine2.1.x 版本的扩展。目前 master 分支基于 2.2.x 版本,可能不与 2.1.x 版本兼容

<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                 xmlns:gedmo="http://gediminasm.org/schemas/orm/doctrine-extensions-mapping">
...
</doctrine-mapping>

XML映射xsd模式也是分版本的,可以通过版本后缀使用

ODM MongoDB 支持

支持ODM的扩展列表

  • 可翻译
  • 可缩写
  • 可计时
  • 可指责
  • 可记录
  • 翻译器
  • 树(目前使用物化路径策略)
  • 引用
  • 引用完整性

所有这些扩展都可以嵌套在一起,并以传统方式映射 - 注释xmlyaml

运行测试

pdo-sqlite 扩展是必需的。要设置和运行测试,请按照以下步骤操作

  • 转到扩展的根目录
  • 下载 composer: wget https://composer.php.ac.cn/composer.phar
  • 安装开发库: php composer.phar install
  • 运行: bin/phpunit -c tests
  • 可选 - 如果针对 mongo 测试,则运行 mongodb 服务

运行示例

要设置和运行示例,请按照以下步骤操作

  • 转到扩展的根目录
  • 下载 composer: wget https://composer.php.ac.cn/composer.phar
  • 安装开发库: php composer.phar install
  • 编辑 example/em.php 并在文件顶部配置您的数据库
  • 运行: ./example/bin/consolephp example/bin/console 以运行控制台命令
  • 运行: ./example/bin/console orm:schema-tool:create 以创建模式
  • 运行: php example/run.php 以运行示例

贡献者

感谢 所有参与 这些出色的 Doctrine2 扩展开发的人!

特别是创建和维护新扩展的人