zadarkside/paris

PHP5的轻量级Active Record实现,基于Idiorm构建

v1.6.0-beta.3 2016-07-15 23:17 UTC

README

Build Status Latest Stable Version Total Downloads

http://j4mie.github.com/idiormandparis/

功能完整

自1.5.0版本起,Paris被认为是功能完整的。虽然它将继续维护,修复bug,但从此以后将不再添加新功能。

请不要提交功能请求或添加新功能的pull请求,因为它们将被无礼地关闭。

PHP5的轻量级Active Record实现。

基于Idiorm

在PHP 5.2.0+上进行了测试 - 可能与PDO和正确的数据库驱动程序在早期版本上工作。

BSD许可证下发布。

特性

  • 极其简单的配置。
  • 公开了Idiorm的流查询API的全部功能。
  • 支持关联。
  • 简单的机制,用于在过滤器方法中封装常见查询。
  • 基于PDO
  • 在整个实现中使用了预处理语句,以防止SQL注入攻击。
  • 数据库无关。目前支持SQLite、MySQL、Firebird和PostgreSQL。可能支持其他数据库,请尝试一下!
  • 支持模型集合,支持方法链来一次性过滤或应用多个结果的操作。
  • 支持多个连接

文档

文档托管在Read the Docs上:paris.rtfd.org

构建文档

您需要安装Sphinx,然后在docs文件夹中运行

make html

现在文档将在docs/_build/html/index.html中

让我们看看一些代码

class User extends Model {
    public function tweets() {
        return $this->has_many('Tweet');
    }
}

class Tweet extends Model {}

$user = Model::factory('User')
    ->where_equal('username', 'j4mie')
    ->find_one();
$user->first_name = 'Jamie';
$user->save();

$tweets = $user->tweets()->find_many();
foreach ($tweets as $tweet) {
    echo $tweet->text;
}

变更日志

1.6.0-beta - 预发布于2016-07-16

  • 更新了composer.json

1.6.0-alpha - 预发布于2016-07-16

  • 将类Model重命名为ORMModel

1.5.4 - 发布于2014-09-23

1.5.3 - 发布于2014-06-25

  • 删除错误提交的git合并备份文件

1.5.2 - 发布于2014-06-23

1.5.1 - 发布于2014-06-22

  • 从travis-ci中删除HHVM构建目标,因为HHVM中存在bug

1.5.0 - 发布于2014-06-22

1.4.2 - 发布于 2013-12-12

修复更新以移除一个损坏的拉取请求 - 可能会影响利用了 1.4.0 和 1.4.1 中合并的 "find_many() 现在返回一个以数据库主键为键的关联数组" 变化的 1.4.0 和 1.4.1 用户。

  • 撤销拉取请求/问题 #133,因为它以之前未预料到的方式破坏了向后兼容性(见 Idiorm 问题 #162#156#133)- 对将此更改合并到 Paris 中表示歉意 - 关闭 Idiorm 问题 156

1.4.1 - 发布于 2013-09-05

1.4.0 - 发布于 2013-09-05

1.3.0 - 发布于 2013-01-31

  • 文档已迁移到 paris.rtfd.org,并现在使用 Sphinx 构建
  • 添加对多个数据库连接的支持 [tag] - 问题 #15
  • 允许为模型类名添加前缀 - 请参阅文档中的配置 - 关闭 问题 #33
  • 从git导出中排除测试和git文件(由composer使用)
  • 实现 set_expr - 关闭 问题 #39
  • 添加 is_new - 关闭 问题 #40
  • 在Idiorm中添加对新IdiormResultSet对象的支持 - 关闭 问题 #14
  • 将Composer修改为使用classmap,以更好地支持自动加载 [由 javierd 提供] - 问题 #44
  • 将测试移动到PHPUnit以匹配Idiorm
  • 更新包含的Idiorm版本以进行测试
  • 将文档移动到使用Sphinx

1.2.0 - 发布于2012-11-14

  • 设置composer通过packagist安装(j4mie/paris)
  • 添加基本命名空间支持,请参阅 问题 #20
  • 允许在 set() 中将属性设置为关联数组,请参阅 问题 #13
  • 修复idiorm中的补丁,现在允许保存空模型(j4mie/idiorm,请参阅 问题 #58

1.1.1 - 发布于2011-01-30

1.1.0 - 发布于2011-01-24

  • 添加 is_dirty 方法

1.0.0 - 发布于2010-12-01

  • 初始发布