idetia / doctrine-extensions
Doctrine2 行为扩展
Requires
- php: >=5.3.2
- doctrine/common: >=2.2,<2.5-dev
Requires (Dev)
- doctrine/common: >=2.4.0-RC3
- doctrine/dbal: >=2.4.0-RC1
- doctrine/mongodb: >=1.0.3
- doctrine/mongodb-odm: >=1.0.0-BETA9
- doctrine/orm: >=2.4.0-RC1
- symfony/yaml: 2.3.1
Suggests
- doctrine/dbal: >=2.3.2
- doctrine/mongodb: >=1.0.1
- doctrine/mongodb-odm: >=1.0.0-BETA7
- doctrine/orm: >=2.3.2
This package is auto-updated.
Last update: 2024-09-10 20:09:50 UTC
README
我在寻找此项目的维护者
如果您有兴趣维护、重构 doctrine2 扩展,请随时在问题或电子邮件中发起讨论。可以将仓库移动到维护者的账户,并将分支留在我这里。目前,我不想让用户失去他们已经习惯使用的稳定扩展。
版本 2.3.6
注意:最近 doctrine orm 和 odm 更新为使用通用的 doctrine 映射持久层。已为其提供支持并标记为 2.3.1 版本标签。它将兼容 doctrine 映射的最新版本在 master 分支上。
最新更新
2013-03-10
- Sluggable 添加了 'unique_base' 配置参数
2013-03-05
- 新增扩展 - References,它将文档中的实体链接起来,反之亦然,了解更多。由 @jwage、@avalanche123、@jmikola 和 @bobthecow 贡献,谢谢。
2013-02-05
- Sluggable 添加了对 yaml 和 xml 的 slug 处理器映射驱动程序支持。
2012-12-06
- Blameable 扩展添加了允许在字段上设置用户名字符串或用户对象的功能,选项与 Timestampable 相同。
2012-07-05
- Mapping 驱动程序已更新以支持最新的 doctrine 版本。
2012-05-01
- Sluggable 现在允许在 slug 设置为空或 null 时重新生成 slug。它还允许手动设置 slug,在这种情况下,它只会进行转义并确保唯一性。
摘要和功能
此软件包包含对 Doctrine2 的扩展,它连接到 Doctrine 的功能并提供新的功能或工具,以更有效地使用 Doctrine2。此软件包包含大部分常用的行为,可以轻松地附加到您的 Doctrine2 事件系统,并以行为方式处理正在刷新的记录。扩展列表
- 树 - 此扩展自动处理树处理过程,并在存储库上添加了一些特定于树的函数。(闭包、嵌套集或 物化路径)
- 可翻译的 - 为您提供了将记录翻译成不同语言的有效解决方案。易于设置,更易于使用。
- Sluggable - 将指定的字段转换为单个唯一的 slug
- Timestampable - 在创建、更新甚至属性更改时更新日期字段。
- Blameable - 在创建、更新甚至属性更改时更新字符串或引用字段,可以是字符串或对象(例如用户)。
- Loggable - 帮助跟踪对象的更改和历史,也支持版本管理。
- 可排序的 - 使任何文档或实体可排序
- 翻译器 - 显式处理翻译
- 软删除 - 允许隐式删除记录
- 可上传的 - 在实体字段中提供文件上传处理
- References - 支持在文档中链接实体,反之亦然
目前这些扩展支持 Yaml、注释 和 Xml 映射。可以通过使用 Mapping 扩展轻松实现其他映射驱动程序,以处理额外的元数据映射。
注意:请注意,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模式也进行了版本控制,可以通过版本后缀使用
- 最新版本 - 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)进行映射
您可以在我的博客上测试这些扩展。所有基本用法教程也在我的博客上。您还可以从GitHub仓库分叉或克隆此博客
运行测试
需要PHPUnit 3.6或更高版本。要设置和运行测试,请按照以下步骤操作
- 转到扩展的根目录
- 下载composer: wget https://getcomposer.org.cn/composer.phar
- 安装开发库: php composer.phar install --dev
- 运行: phpunit -c tests
- 可选 - 如果目标是MongoDB测试,则运行mongodb服务
运行示例
要设置和运行示例,请按照以下步骤操作
- 转到扩展的根目录
- 下载composer: wget https://getcomposer.org.cn/composer.phar
- 安装开发库: php composer.phar install --dev
- 编辑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