public function behaviors()
{
return ArrayHelper::merge(parent::behaviors(), [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
'clear' => ['post'],
],
],
'access' => [
'class' => AccessControl::className(),
'rules' => [
['allow' => true, 'actions' => ['index', 'count'], 'roles' => ['@']],
['allow' => true, 'actions' => ['delete', 'clear'], 'verbs' => ['POST'], 'roles' => ['@']],
]
]
]);
}
VerbFilter檢查請求動作的HTTP請求方式是否允許執行, 如果不允許,會拋出HTTP 405異常。 如上示例,VerbFilter指定CRUD動作所允許的請求方式。
access這是動作過濾器最常用的使用方式。 only
選項指定這個ACF只能被應用於 某些動作。 rules
選項指定訪問規則,內容為:允許所有認證用戶訪問'index' 和 注銷'count' 動作。@表示認證用戶,?表示訪客