Yii2.0的几大基本Behavior使用集合
yii2 2017-04-18 11:12:17

modle层

PHP Code复制内容到剪贴板
  1. use yii\behaviors\AttributeBehavior;  
  2. use yii\behaviors\SluggableBehavior;  
  3. use yii\behaviors\BlameableBehavior;  
  4. use yii\behaviors\TimestampBehavior;  
  5. use yii\db\ActiveRecord;  
  6.   
  7. public function behaviors()  
  8.     {  
  9.         return [  
  10.             [  
  11.                 'class'      => AttributeBehavior::className(),  
  12.                 'attributes' => [  
  13.                     ActiveRecord::EVENT_BEFORE_INSERT => 'status',  
  14.                     // ActiveRecord::EVENT_BEFORE_UPDATE => 'attribute2',  
  15.                 ],  
  16.                 'value'      => function ($event) {  
  17.                     return '10';//填充值  
  18.                 },  
  19.             ],  
  20.             [  
  21.                 /** 
  22.                  * TimestampBehavior: 
  23.                  * 创建的时候,默认插入当前时间戳给created_at和updated_at字段 
  24.                  * 更新的时候,默认更新当前时间戳给updated_at字段 
  25.                  */  
  26.                 'class'              => TimestampBehavior::className(),  
  27.                 'createdAtAttribute' => 'created_at',  
  28.                 'updatedAtAttribute' => 'updated_at',  
  29.                 // 'value'              => time(),  
  30.             ],  
  31.             [  
  32.                 /** 
  33.                  * SluggableBehavior: 
  34.                  * 算是美化url的一种方法 
  35.                  * 通过填写title自动填充字段slug 
  36.                  * slug替换原本url中的参数部分,可以增加url的安全性。 
  37.                  */  
  38.                 'class'         => SluggableBehavior::className(),  
  39.                 'attribute'     => 'title',  
  40.                 'slugAttribute' => 'slug',  
  41.             ],  
  42.             [  
  43.                 /** 
  44.                  * BlameableBehavior: 
  45.                  * 创建的时候,默认插入当前用户ID给author_id和updater_id字段 
  46.                  * 更新的时候,默认更新当前用户ID给updater_id字段 
  47.                  */  
  48.                 'class'              => BlameableBehavior::className(),  
  49.                 'createdByAttribute' => 'author_id',  
  50.                 'updatedByAttribute' => 'updater_id',  
  51.                 // 'value'              => Yii::$app->user->id,  
  52.             ],  
  53.         ];  
  54.     }  

 yii里的behavior主要还是充当了注册事件的作用,这些行为里边基本都是注册了model的事件,insert update时候触发的

 

 

本文来自于:http://www.yoyo88.cn/study/yii2/102.html

下一篇 yii2 console
Powered by yoyo苏ICP备15045725号