oleg-chulakov-studio / yii2-web
yii2模板的Web组件
1.0.0
2019-09-19 09:23 UTC
Requires
- php: >=7.3
- oleg-chulakov-studio/yii2-base: ~1.0.0
- oleg-chulakov-studio/yii2-model: ~1.0.0
- yiisoft/yii2: ~2.0.25
This package is auto-updated.
Last update: 2024-09-19 21:06:26 UTC
README
将主控制器从Web应用移至组件,包含标准化的过滤器和行为、CRUD操作以及常见操作,如切换实体的活动状态或更改状态。
将基本的行为过滤设置移至Web组件的控制器中,以控制对动作的访问。
安装
要安装组件,需要在 composer.json
文件中添加以下行
"require": {
"oleg-chulakov-studio/yii2-web": "~1.0.0"
}
或者执行以下命令
composer require oleg-chulakov-studio/yii2-web
访问控制
默认情况下,Yii2使用两种行为来控制对每个控制器的访问。配置 VerbFilter
和 AccessControl
过滤器访问规则需要大量的规则。因此,通过创建基本访问规则集简化了此配置。
public function accessRules()
{
return [
'index' => $this->createAccess('get', true),
'view' => $this->createAccess('get', true, '@'),
'create' => $this->createAccess('post', true, '@'),
'update' => $this->createAccess('put, patch', true, '@'),
'delete' => $this->createAccess('delete', true, '@'),
'options' => $this->createAccess(),
];
}
访问方法和访问规则可以有以下两种写法
... 'update' => $this->createAccess('put, patch', true, ['admin', '@']), ...
'post, get'
- 对动作的访问方法,由逗号分隔的元素列表['admin', '@']
- 对动作访问的规则,元素列表
如果需要扩展不同于标准的行为,可以重写生成过滤器配置的方法。
AccessControl过滤器配置
创建 AccessControl
过滤器访问级别设置的配置由 accessBehavior
方法负责,该方法接收访问规则列表 $rules
并返回行为配置。
VerbFilter过滤器配置
创建 VerbFilter
过滤器访问方法的配置由 verbsBehavior
方法执行,该方法接收带有访问方法的动作列表 $actions
并返回行为配置。