ahs / doctrine-extensions
Doctrine2 行为扩展
v2.4.38
2019-11-08 22:33 UTC
Requires
- php: >=5.3.2
- behat/transliterator: ~1.2
- doctrine/common: ~2.4
Requires (Dev)
- doctrine/common: >=2.5.0
- doctrine/mongodb-odm: >=1.0.2 <2.0
- doctrine/orm: >=2.5.0
- phpunit/phpunit: ^4.8.35 || ^5.7 || ^6.5
- symfony/yaml: ~2.6 || ~3.0 || ~4.0
Suggests
- doctrine/mongodb-odm: to use the extensions with the MongoDB ODM
- doctrine/orm: to use the extensions with the ORM
Conflicts
- doctrine/annotations: <1.2
- doctrine/mongodb-odm: >=2.0
- v2.4.x-dev
- v2.4.38
- v2.4.37
- v2.4.36
- v2.4.35
- v2.4.34
- v2.4.33
- v2.4.32
- v2.4.31
- v2.4.30
- v2.4.29
- v2.4.28
- v2.4.27
- v2.4.26
- v2.4.25
- v2.4.24
- v2.4.23
- v2.4.22
- v2.4.21
- v2.4.20
- v2.4.19
- v2.4.18
- v2.4.17
- v2.4.16
- v2.4.15
- v2.4.14
- v2.4.13
- v2.4.12
- v2.4.11
- v2.4.10
- v2.4.9
- v2.4.8
- v2.4.7
- v2.4.6
- v2.4.5
- v2.4.4
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.12
- v2.3.11
- v2.3.10
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- dev-patch-1
This package is auto-updated.
Last update: 2024-09-18 21:25:11 UTC
README
此包包含对 Doctrine ORM 和 MongoDB ODM 的扩展,提供了新的功能或工具,以更高效地使用 Doctrine。这些行为可以轻松地附加到 Doctrine 的事件系统中,并以行为方式处理正在冲刷的记录。
安装
$ composer require gedmo/doctrine-extensions
扩展
ORM & MongoDB ODM
- Blameable - 在创建、更新甚至属性更改时更新字符串或引用字段(例如用户)。
- Loggable - 帮助跟踪对象的更改和历史,也支持版本管理。
- Sluggable - 将指定的字段转换为单个唯一的短链接。
- Timestampable - 在创建、更新甚至属性更改时更新日期字段。
- Translatable - 提供了一个非常实用的解决方案,用于将记录翻译成不同的语言。易于设置,更易于使用。
- Tree - 自动化树处理过程,并在仓库中添加一些特定的树函数。(闭包、嵌套集或 物化路径)(MongoDB ODM 仅支持物化路径)
ORM 仅支持
- IpTraceable - 继承自 Timestampable,设置 IP 地址而不是时间戳。
- SoftDeleteable - 允许隐式删除记录。
- Sortable - 使任何文档或实体可排序。
- Uploadable - 在实体字段中提供文件上传处理。
MongoDB ODM 仅支持
- References - 支持在文档中链接实体,反之亦然。
- ReferenceIntegrity - 限制 ODM MongoDB 文档引用。
所有扩展都支持 YAML、Annotation 和 XML 映射。可以通过使用映射扩展轻松实现额外的映射驱动程序,以处理额外的元数据映射。
版本兼容性
如果您在没有框架的情况下设置实体管理器,请参阅 示例 以防止像 #1310 这样的问题。
XML 映射
XML 映射需要位于不同的命名空间中,Doctrine 扩展声明的命名空间为 http://gediminasm.org/schemas/orm/doctrine-extensions-mapping。因此,根节点现在看起来像这样。
<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
运行测试
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
以运行示例
贡献者
感谢所有参与这些优秀 Doctrine 扩展开发的人!链接
特别是那些创建和维护新扩展的人
- Lukas Botsch lbotsch
- Gustavo Adrian comfortablynumb
- Boussekeyt Jules gordonslondon
- Kudryashov Konstantin everzet
- David Buchmann dbu