ovos / doctrine1
Doctrine v1,数据库ORM,PHP 5.3-8.2 兼容
v1.3.4
2022-10-17 09:57 UTC
Requires
- php: >=5.3.3
- ext-pdo: *
Replaces
This package is auto-updated.
Last update: 2024-08-30 17:49:27 UTC
README
文档 ↗
这是 doctrine/doctrine1 的分支,已调整以兼容 php 5.3-8.3 和 mysql 5.7 以及 8.0。仅测试了 mysql。
只要我们使用它,就会继续维护。欢迎提交您的 问题 和 拉取请求。
还有一些性能调整和功能添加,例如。
- [BC BREAK] 修改 doctrine 集合 & 记录序列化 - 缓存中存储更少的数据,但会失去保持修改后数据状态的功能
- [BC BREAK] 修复了关系中的 orderBy 处理 - 要按
refClass
中的列对 m2m 关系进行排序,请使用refOrderBy
! - 重构了 Doctrine_Record 中的 link/unlink 方法 - 现在在链接/解除链接之前不再加载整个关系
- 在 Record 中添加了
postRelatedSave
钩子,在保存后、所有关系都保存之后调用(原始的 postSave 方法在保存任何关系之前调用) - 添加了
Doctrine_Query_Abstract::getDqlWithParams
- 返回由此查询对象表示的 DQL 查询,包含插值参数值,并修改了 Doctrine_Connection 以在可能的情况下使用 PDO::quote 进行字符串引用 - 重构了查询缓存
- 仅在实际的 getSqlQuery 方法中挂钩,而不是在 execute 方法中(更好的缓存使用)
- 添加了 rootAlias、sqlParts(无偏移量或限制)、isLimitSubqueryUsed 和 limitSubquery 到缓存中
- 始终在 getSqlQuery 中预先查询查询,在生成任何 SQL 之前调用 dql 回调,而不仅仅是执行(),这样缓存哈希值始终正确计算,并且此方法始终返回实际末查询,包括任何来自 dql 回调的修改
- 添加了
isQueryCacheEnabled()
方法 - 缓存无限制和偏移量的查询(以节省更少的缓存记录) - 添加了
Doctrine_Core::ATTR_QUERY_CACHE_NO_OFFSET_LIMIT
- 设置为 true 以启用该功能 - 为子查询添加了父查询组件,以指示子查询上下文 - 更改缓存哈希
- WHERE IN 调整以获得更好的缓存和性能
- 为 mysql 5.7 和性能进行限制子查询调整
这些只是亮点,完整的变更日志在此。
安装
composer require ovos/doctrine1