wwwyii
- wwwyii 发布了话题PHP 分站实现原理
- wwwyii 回答了问题 可有人会Yii2-admin这个东西啊
示例说明:
新建common\rbac\AuthorRule(此类extend yii\rbac\Rule), 然后新建rule的时候,输入
rulename:AuthorRule
classname:\common\rbac\AuthorRule
提交即可成功 - wwwyii 回答了问题 可有人会Yii2-admin这个东西啊
也是搞不太清要怎么填写,后来看了一下源码,应该是要输入:
1、rule name:随意取的名字
2、class name:是一个类名,继承自yii\rbac\Rule的子类,其实就是自己写的rule实现
看一下保存rule的实现:/** * Save model to authManager * @return boolean */ public function save() { if ($this->validate()) { $manager = Yii::$app->authManager; $class = $this->className;----新建rule时写入的类名 if ($this->_item === null) { $this->_item = new $class();-----创建该类的实例 $isNew = true; } else { $isNew = false; $oldName = $this->_item->name; } $this->_item->name = $this->name;-----将rule name复制给Rule if ($isNew) { $manager->add($this->_item);----添加到authmanager,即保存到数据库的auth_rule表中 } else { $manager->update($oldName, $this->_item); } return true; } else { return false; } }