itarato/micmod

此包最新版本(dev-master)没有可用的许可证信息。

dev-master 2015-03-13 08:53 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:00:51 UTC


README

Build Status

微模型层是一个微库,用于为模型提供方便的 CRUD 操作。它使用注解标记属性作为存储的一部分,并有一个可扩展的存储 API 来处理持久化。

目前,在库中实现了 Drupal 7 的存储实现。

在这里,模型应该尽可能简单。由于注解,它可以清楚地分离模型属性和管理属性,但是非严格模型元素应移至不同的单元(如控制器)。

安装

将 composer 包作为依赖项添加

require: {"itarato/micmod": "dev-master"}

使用 - 与 Drupal 一起使用

首先,您需要创建一个模型或将基类添加到现有模型中。纯

/**
 * @table micmod
 */
class ExampleModel extends \Micmod\Model\DrupalModel {

  /**
   * @column id
   * @primary-key
   */
  public $id;

  /**
   * @column name
   */
  public $name;

}

创建新对象 - 实例化类并填写属性

$item = new \ExampleModel();
$item->id = 123;
$item->name = 'Jason';
$item->save();

加载对象 - 实例化类并设置主键

$item = new \ExampleModel();
$item->id = 123;
$item->load();
echo $item->name;

更新对象 - 加载或实例化对象,更改非主键字段并更新(未加载的(NULL)属性将不会设置)

$item = new \ExampleModel();
$item->id = 123;
$item->name = 'Richard'; 
$item->update();

删除新对象 - 设置主键并删除

$item = new \ExampleModel();
$item->id = 123;
$item->Delete();

注解

表名:

定义模型存储的表。

标签:'table'

示例

/**
 * @table TABLENAME
 */

列名:

定义属性的表列名。列名和变量名可以不同。

标签:'column'

示例

/**
 * @column COLUMN_NAME
 */
public $userName;

主键:

标记属性为主键。至少必须有一个主键,但可以有多个。

标签:'primary-key'

示例

/**
 * @column COLUMN_NAME
 * @primary-key
 */
public $userName;