行为是行为共享, 模型可以使用行为重用代码。 ORM提供一个API来实现模型中的行为。为了实现行为, 我们有其他选择, 例如事件和回调, 可以提高行为效率。
内置行为如下:
Name | Description |
---|---|
Timestampable | 它允许在创建或更新记录时自动更新模型的属性, 并保存日期时间。 |
SoftDelete | 它不是永久删除记录, 而是通过更改标志列的值将记录标记为已删除。 |
实作
它实现了Timestampable的预定义行为, 该行为包含单个事件或完整事件的许多选项。
<?php
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Behavior\Timestampable;
class Users extends Model
{
public $id;
public $name;
public $created_at;
public function initialize()
{
$this->addBehavior(
new Timestampable(
[
'beforeCreate' => [
'field' => 'created_at', 'format' => 'Y-m-d', ]
]
)
);
}
}
现在, 使用PHP函数”时间”为”格式”创建数组选项:
<?php
use DateTime;
use DateTimeZone;
use Phalcon\Mvc\Model\Behavior\Timestampable;
public function initialize()
{
$this->addBehavior(
new Timestampable(
[
'beforeCreate' => [
'field' => 'created_at', 'format' => function () {
$datetime = new Datetime(
new DateTimeZone('India/Delhi')
);
return $datetime->format('Y-m-d H:i:sP');
}
]
]
)
);
}
评论前必须登录!
注册