rrelmy / rorm
简单轻量级ORM
1.0.0
2016-02-21 17:34 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-14 17:48:20 UTC
README
- 作者:Rémy M. Böhler code@rrelmy.ch
- 许可证:MIT
- 版本:0.1
需求
- PHP 5.3
PHP 5.3需要为Model提供一个JsonSerializable
填充。
使用PHP 5.5后,我们可以丢弃QueryIterator
并使用yield
。yield似乎占用更多的内存。
目标
- 易于使用,易于扩展
- 极简ORM
- 快速和内存占用低
- 支持复合键
- 接近100%的测试代码覆盖率
待办事项
- 检查可能存在的模型加载钩子
- 检查是否可以丢弃
autoId
- 考虑使用
setExpr
(可能不好,因为直到模型再次加载,数据都是'奇怪的') - 在QueryBuilder中支持分组/HAVING
- 文档
想法
- 缓存
用法
通用
模型
QueryBuilder
关系
没有特别支持关系,但很容易自己集成。
错误处理
建议使用PDO异常错误模式。Rorm没有特殊的错误处理,也不会捕获抛出的PDOException
!
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
未缓冲查询
您可以使用findMany方法使用未缓冲的查询,但您必须注意,在迭代完成之前不能执行任何查询。
没有提供特别的方法来配置未缓冲的查询。您可以直接使用PDO属性。
多个数据库连接
您可以使用setDatabase($dbh, 'name')
方法将多个数据库连接添加到Rorm配置中。
每个模型可以有不同的数据库连接,可以通过$_connection
属性进行配置。