Yii2 如何在子控制器中继承BaseController行为,因为基本行为优先于子控制器行为?
比如说?我有两个BaseController和ChildController。 我希望从BaseController附加行为,但当behaviorsChild时,优先级具有behaviorsBase 基数: 儿童:Yii2 如何在子控制器中继承BaseController行为,因为基本行为优先于子控制器行为?,yii2,Yii2,比如说?我有两个BaseController和ChildController。 我希望从BaseController附加行为,但当behaviorsChild时,优先级具有behaviorsBase 基数: 儿童: [ 'allow' => true, 'roles' => ['admin'], 'matchCallback'
[
'allow' => true,
'roles' => ['admin'],
'matchCallback' => function($rule, $action) {
return ... can...
}
],
和逻辑:
如果父级返回false,则访问被拒绝
如果parent返回true,那么什么返回child
怎么做 这一定对你有帮助
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['access'] = [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'matchCallback' => function ($rule, $action) {
return ... can ...;
},
],
],
];
return $behaviors;
}
其他方法可以是:
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['access']['rules'][] = [
'allow' => true,
'matchCallback' => function ($rule, $action) {
return ... can ...;
},
];
return $behaviors;
}
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['access']['rules'][] = [
'allow' => true,
'matchCallback' => function ($rule, $action) {
return ... can ...;
},
];
return $behaviors;
}