PHP5 ORM工具包

0.8.3 2016-03-14 09:35 UTC

README

PHP5 ORM工具包

ORM是一个善变的家伙。许多库(例如Propel、Doctrine、Eloquent等)假设你的数据库应该与你的模型对应。这根本不是事实;模型包含业务逻辑,可能、可能不或部分地引用数据库表、NoSQL数据库、平面文件、外部API或其他任何东西。重点是:模型不应该关心,也不应该通过它们的名称进行“常规”映射。(一个常见的例子是包含多语言页面的模型,其中数据可能存储在page表中,以及一个page_i18n表用于存储特定语言的数据。)

此外,使用广泛的和/或复杂的配置文件很糟糕。(XML?这是2015年,朋友们!)

安装

Composer(推荐)

将"monomelodies/ornament"添加到您的composer.json要求中

$ composer require monomelodies/ornament

手动安装

  1. 获取代码;
    1. 从GitHub等地方克隆仓库;
    2. 下载ZIP(例如从GitHub)并解压缩。
  2. 使您的项目能够识别Ornament
    1. 在您的PSR-4自动加载器中为命名空间Ornament\\注册/path/to/ornament/src(推荐);
    2. 或者,手动include所需的文件。

基本用法

Ornament模型(如果你习惯于Doctrine的话,“实体”)实际上只是普通的PHP类;没有必要扩展任何类型的基对象(因为你可能在自己的框架中这样做!)

Ornament是一个工具包,因此它提供了一系列的Trait,你可以使用它们来扩展模型的行为,使其超出常规。

最基本的应用实例如下

<?php

use Ornament\Model;
use Ornament\Adapter\Pdo;

class MyModel
{
    use Model;

    // Public properties on a Model are considered "handleable" by Ornament:
    public $id;
    public $name;
    public $value;

    public function __construct()
    {
        $this->addAdapter(new Pdo($GLOBALS['database']));
    }
}