cmdconfig / doctrine-extensions
Doctrine2 行为扩展
Requires
- php: >=5.3.2
- behat/transliterator: ~1.0
- doctrine/common: ~2.4
Requires (Dev)
- doctrine/common: >=2.5.0
- doctrine/mongodb-odm: >=1.0.0-BETA13
- doctrine/orm: >=2.5.0
- phpunit/phpunit: ~4.4
- phpunit/phpunit-mock-objects: ~2.3
- symfony/yaml: ~2.6
Suggests
- doctrine/mongodb-odm: to use the extensions with the MongoDB ODM
- doctrine/orm: to use the extensions with the ORM
This package is not auto-updated.
Last update: 2024-10-02 10:00:14 UTC
README
版本 2.4.2
注意: 扩展 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 兼容
最新更新
2015-05-01
- 撤销 1272,查看 1263。使用 naming strategy 配置您的用例。
- 修复了可排序 1279 的错误
2015-03-26
支持 ORM 和 Common 库 2.5.0。由于 trait 列表更改,进行了小版本号的提升。
2015-01-28
修复了所有映射的问题,当关系或类名位于同一个命名空间时,会导致相关类映射失败,但扩展需要将其映射为完整类名。
2015-01-21
修复了实体或文档包装器中的内存泄漏问题,便于检索元数据。
总结和功能
本包包含 Doctrine2 的扩展,它连接到 Doctrine 的设施并提供新的功能或工具,以便更有效地使用 Doctrine2。本包包含大多数常用的行为,可以轻松地附加到 Doctrine2 的事件系统中,并按行为方式处理正在冲刷的记录。扩展列表
- 树 - 此扩展自动化树处理过程,并在仓库中添加一些特定的树函数。(闭包、嵌套集 或 物化路径)
- 可翻译 - 为将记录翻译成不同语言提供了一种非常实用的解决方案。易于设置,更易于使用。
- 可缩写 - 将指定的字段转换为单个唯一的缩写
- 可时间戳 - 在创建、更新甚至在属性更改时更新日期字段。
- 可指责 - 在创建、更新甚至在属性更改时更新字符串或引用字段,与字符串或对象(例如用户)一起。
- 可记录 - 帮助跟踪对象的变化和历史,也支持版本管理。
- 可排序 - 使任何文档或实体可排序
- 可翻译者 - 明确处理翻译的途径
- 可软删除 - 允许隐式删除记录
- Uploadable - 在实体字段中提供文件上传处理
- References - 支持在文档中链接实体及其反向链接
- ReferenceIntegrity - 限制 ODM MongoDB 文档引用
- IpTraceable - 继承自 Timestampable,设置 IP 地址而不是时间戳
目前这些扩展支持 Yaml、Annotation 和 Xml 映射。可以通过映射扩展轻松实现其他映射驱动程序,以处理额外的元数据映射。
注意:请注意,xml 映射需要不同的命名空间,Doctrine 扩展声明的命名空间为 http://gediminasm.org/schemas/orm/doctrine-extensions-mapping。因此,根节点现在看起来是这样的
注意:使用 2.1.x 标签来使用基于 Doctrine2.1.x 版本的扩展。目前主分支基于 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 架构也是分版本的,可以使用版本后缀使用
- 最新版本 - http://gediminasm.org/schemas/orm/doctrine-extensions-mapping
- 2.2.x 版本 - http://gediminasm.org/schemas/orm/doctrine-extensions-mapping-2-2
- 2.1.x 版本 - http://gediminasm.org/schemas/orm/doctrine-extensions-mapping-2-1
ODM MongoDB 支持
支持 ODM 的扩展列表
- 可翻译的
- 可缩略的
- 可时间戳的
- 可指责的
- 可记录的
- 可翻译的
- 树(目前为物化路径策略)
- 引用
- 引用完整性
所有这些扩展都可以嵌套在一起,并以传统方式映射 - 注解、xml 或 yaml
运行测试
pdo-sqlite 扩展是必要的。要设置和运行测试,请按照以下步骤操作
- 转到扩展的根目录
- 下载 composer:
wget https://getcomposer.org.cn/composer.phar
- 安装开发库:
php composer.phar install
- 运行:
bin/phpunit -c tests
- 可选 - 如果针对 mongo 测试,运行 mongodb 服务
运行示例
要设置和运行示例,请按照以下步骤操作
- 转到扩展的根目录
- 下载 composer:
wget https://getcomposer.org.cn/composer.phar
- 安装开发库:
php composer.phar install
- 编辑
example/em.php
并在文件顶部配置您的数据库 - 运行:
./example/bin/console
或php example/bin/console
以运行控制台命令 - 运行:
./example/bin/console orm:schema-tool:create
以创建模式 - 运行:
php example/run.php
以运行示例
贡献者
感谢所有参与这些出色的 Doctrine2 扩展开发的人!所有人
特别是创建和维护新扩展的人
- Lukas Botsch lbotsch
- Gustavo Adrian comfortablynumb
- Boussekeyt Jules gordonslondon
- Kudryashov Konstantin everzet
- David Buchmann dbu