softwarepunt / php-activerecord
php-activerecord 是一个基于 ActiveRecord 模式的开源 ORM 库。
Requires
- php: >=7.2.0
Requires (Dev)
- pear/log: ~1.12
- pear/pear_exception: 1.0-beta1
- phpunit/phpunit: ^9.5
Suggests
- maximebf/debugbar: This package can intergrate into the PHP Debugbar
Replaces
This package is auto-updated.
Last update: 2024-09-11 10:40:15 UTC
README
这是对 php-activerecord 的分支,最初由 @kla、@jpfuentes2 和其 贡献者 编写。
重要
⚠ php-activerecord 已不再积极维护,原始网站已失效,项目基本上已被放弃。
我不会推荐这个 ORM 用于任何新的项目或开发。
这个分支包含一些提升用户体验的改进、对最新 PHP 版本的支持以及一些修复,这些对我们和一些我们维护的旧项目是相关的。
安装
我们建议使用 composer
composer require softwarepunt/php-activerecord:dev-master
因为我们没有积极维护此项目的标签或版本,你应该参考 dev-master。
文档与用法
- 👨💻 原始项目: https://github.com/jpfuentes2/php-activerecord
- 📕 旧文档站点的镜像: https://www.phpactiverecord.xyz/
(⚠ phpactiverecord.org 已失效并被他人占用,最好忽略它。)
分支变更
这个分支目前仅与 PHP 8.1 兼容!
修复
- 随着时间的推移,对 PHP 7.2、8.0、8.1 的兼容性修复
activerecord_autoload在库加载多次时不再引起冲突。- 修复了
find_by_pk()中的count(): Parameter must be an array or an object that implements Countable错误。 - 修复了如果输入为空(例如空字符串)则
castIntegerSafely()抛出错误的情况,现在只返回零。
增强
-
DateTime:实现 \JsonSerializable,以 "c" 模式格式化。
-
向
Model添加了set_is_new_record(bool),以帮助修改内部状态。 -
向
Connection添加了实验性的reconnect()函数。 -
添加了
stupidfastquery($options):将选项转换为查询,并返回不带任何 activerecord 魔法的原始 PDO 结果集。 -
添加了
stupidfastqueryValues($options, $colIndex = 0):运行stupidfastquery并返回列值的数组。 -
添加了
stupidfastcount($options):运行查询,只返回行数。 -
添加了
find_all_with_wrapped_sort($options):将结果包装在单独的 SELECT 中,以加快 JOIN 重量查询的排序速度。 -
将
query_info传递给find($options)选项,以获取生成的查询数据作为结果(由stupidfastcount& co 内部使用) - 如果你想将$options转换为实际的语句,则可以使用它[ 'query' => $sql->to_s(), 'values' => $sql->get_where_values(), 'readonly' => $readonly, 'eager_load' => $eager_load ];