asgard/behaviors

安装: 471

依赖者: 1

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:asgard-bundle

v0.3.1 2016-05-13 12:31 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:00:05 UTC


README

#Behaviors

Build Status

Behaviors 包提供了一些现成的行为,可直接用于实体。本页定义了行为的用法、属性、钩子和方法。

##安装 如果您正在开发 Asgard 项目,您不需要安装此库,因为它已经是标准库的一部分。

composer require asgard/behaviors 0.*

##MetasBehavior

###用法

在实体定义中

$definition->behaviors = [
	new \Asgard\Behaviors\MetasBehavior
];

###属性

meta_title:
	type: text
	required: false
meta_description:
	type: text
	required: false
meta_keywords:
	type: text
	required: false

###方法

$entity->showMetas();

输出实体的元信息到 html

##PublishBehavior

###用法

在实体定义中

$definition->behaviors = [
	new \Asgard\Behaviors\PublishBehavior
];

###属性

published:
	type: boolean
	default: true

###方法

Entity::published();

返回具有已发布实体范围的 ORM。

Entity::loadPublished($id);

如果实体已发布,则返回给定 id 的实体。

##SlugifyBehavior

###用法

在实体定义中

$definition->behaviors = [
	new \Asgard\Behaviors\SlugifyBehavior
];

这将使用第一个实体属性作为 slug。

要使用特定属性作为 slug

$definition->behaviors = [
	new \Asgard\Behaviors\SlugifyBehavior('title')
];

###属性

slug:
	type: text
	required: false

###方法

$entity->slug();

返回实体 slug

##SortableBehavior

###用法

在实体定义中

$definition->behaviors = [
	new \Asgard\Behaviors\SortableBehavior
];

###属性

position:
	type: integer
	required: false
	default: 0
	editable: false

###钩子

如果未设置位置,在保存实体时,位置将从最后一个实体开始递增。

###方法

$entity->moveAfter($anotherEntityId);

将实体移动到给定 id 的实体之后。

$entity->previous();

返回当前实体之前的一个实体。

$entity->next();

返回当前实体之后的一个实体。

##TimestampsBehavior

###用法

在实体定义中

$definition->behaviors = [
	new \Asgard\Behaviors\TimestampsBehavior
];

###属性

created_at:
	type: datetime
	required: false
	default: function() { return \Asgard\Common\Datetime::now(); }
	editable: false
updated_at:
	type: datetime
	required: false
	default: function() { return \Asgard\Common\Datetime::now(); }
	editable: false

###钩子

在保存实体时,updated_at 属性将更新为当前日期和时间。

###贡献

请将所有问题和拉取请求提交到 asgardphp/asgard 仓库。

许可证

Asgard 框架是开源软件,许可协议为 MIT 许可证