PHP5 ORM工具包
0.8.3
2016-03-14 09:35 UTC
Requires
- php: >=5.4
- zeptech/annotations: ^1.1
Requires (Dev)
- phpunit/dbunit: >=1.2
- phpunit/phpunit: >=4.0
Suggests
- monomelodies/dabble: PDO-based database abstraction layer
- monomelodies/dormant: Dabble-specific Ornament adapter
- monomelodies/formulaic: PHP5 OO-forms with data binding for (Ornament) models
This package is auto-updated.
Last update: 2024-09-16 05:27:21 UTC
README
PHP5 ORM工具包
ORM是一个善变的家伙。许多库(例如Propel、Doctrine、Eloquent等)假设你的数据库应该与你的模型对应。这根本不是事实;模型包含业务逻辑,可能、可能不或部分地引用数据库表、NoSQL数据库、平面文件、外部API或其他任何东西。重点是:模型不应该关心,也不应该通过它们的名称进行“常规”映射。(一个常见的例子是包含多语言页面的模型,其中数据可能存储在page表中,以及一个page_i18n表用于存储特定语言的数据。)
此外,使用广泛的和/或复杂的配置文件很糟糕。(XML?这是2015年,朋友们!)
安装
Composer(推荐)
将"monomelodies/ornament"添加到您的composer.json要求中
$ composer require monomelodies/ornament
手动安装
- 获取代码;
- 从GitHub等地方克隆仓库;
- 下载ZIP(例如从GitHub)并解压缩。
- 使您的项目能够识别Ornament
- 在您的PSR-4自动加载器中为命名空间
Ornament\\注册/path/to/ornament/src(推荐); - 或者,手动
include所需的文件。
- 在您的PSR-4自动加载器中为命名空间
基本用法
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'])); } }