Yii2.0的几大基本Behavior使用集合
modle层
PHP Code复制内容到剪贴板
- use yii\behaviors\AttributeBehavior;
- use yii\behaviors\SluggableBehavior;
- use yii\behaviors\BlameableBehavior;
- use yii\behaviors\TimestampBehavior;
- use yii\db\ActiveRecord;
- public function behaviors()
- {
- return [
- [
- 'class' => AttributeBehavior::className(),
- 'attributes' => [
- ActiveRecord::EVENT_BEFORE_INSERT => 'status',
- // ActiveRecord::EVENT_BEFORE_UPDATE => 'attribute2',
- ],
- 'value' => function ($event) {
- return '10';//填充值
- },
- ],
- [
- /**
- * TimestampBehavior:
- * 创建的时候,默认插入当前时间戳给created_at和updated_at字段
- * 更新的时候,默认更新当前时间戳给updated_at字段
- */
- 'class' => TimestampBehavior::className(),
- 'createdAtAttribute' => 'created_at',
- 'updatedAtAttribute' => 'updated_at',
- // 'value' => time(),
- ],
- [
- /**
- * SluggableBehavior:
- * 算是美化url的一种方法
- * 通过填写title自动填充字段slug
- * slug替换原本url中的参数部分,可以增加url的安全性。
- */
- 'class' => SluggableBehavior::className(),
- 'attribute' => 'title',
- 'slugAttribute' => 'slug',
- ],
- [
- /**
- * BlameableBehavior:
- * 创建的时候,默认插入当前用户ID给author_id和updater_id字段
- * 更新的时候,默认更新当前用户ID给updater_id字段
- */
- 'class' => BlameableBehavior::className(),
- 'createdByAttribute' => 'author_id',
- 'updatedByAttribute' => 'updater_id',
- // 'value' => Yii::$app->user->id,
- ],
- ];
- }
yii里的behavior主要还是充当了注册事件的作用,这些行为里边基本都是注册了model的事件,insert update时候触发的
上一篇 yii2 数据库操作
下一篇 yii2 console