wwwyii

wwwyii

这家伙有点懒,还没写个性签名!

  • 财富值605
  • 威望值30
  • 总积分1055

个人信息

  • 发布了话题
    PHP 分站实现原理
  • 提出了问题
    Yii启动过程疑问
  • 示例说明:
    新建common\rbac\AuthorRule(此类extend yii\rbac\Rule), 然后新建rule的时候,输入
    rulename:AuthorRule
    classname:\common\rbac\AuthorRule
    提交即可成功

  • 也是搞不太清要怎么填写,后来看了一下源码,应该是要输入:
    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;
            }
        }
    
经理 等级规则
1055/2000
资料完整度
10/100
用户活跃度
0/100

Ta的关注

1

Ta的粉丝

1

Ta的访客

4