rrelmy/rorm

简单轻量级ORM

1.0.0 2016-02-21 17:34 UTC

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

Build Status Code Coverage Scrutinizer Code Quality

Build Status

需求

  • 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属性进行配置。