我有一个扩展名yii2-admin用于RBAC,我想在此扩展中添加另一个控制器,视图,模型等。因为在这个模块中我想保留所有操作管理员如CRUD for User表和另一个。
添加它的正确方法是什么?因为要在文件夹供应商中添加自定义文件,这是不好的方法。
答案 0 :(得分:1)
如果您使用模块来管理授权控制,您可以这样做
假设您的模块名为auth
在config / main.php中为auth分配模块
'modules' => [
.....
'auth'=> [ // your module for authorization (rbac)
'class' => 'vendor\your_vendor_name\auth\Module',
],
然后在vendor\your_vendor_name\auth\Module.php
您应该使用此代码为与auth模块相关的所有控制器设置controllerNamespace
namespace vendor\your_vendor_name\auth;
use \yii\base\Module as BaseModule;
/**
* This is the main module class for the auth .
*
*
*
*/
class Module extends BaseModule
{
public $controllerNamespace = 'vendor\your_vendor_name\auth\controllers';
const VERSION = '1.0.0-dev';
public function init()
{
parent::init();
// custom initialization code goes here
}
}
此时您可以在
中添加所需的所有控制器 `vendor\your_vendor_name\auth\controllers\`
和
中的模型 `vendor\your_vendor_name\auth\models\`
和观看次数
in
`vendor\your_vendor_name\auth\views\`
例如:对于vendor\your_vendor_name\auth\controllers\
中的控制器,我有
AuthAssignmentController.php
AuthItemChildController.php
AuthItemController.php
AuthRuleController.php
DefaultController.php
每个都管理相关模型的CRUD