Yii 当函数存在时,cwebuser未定义

Yii 当函数存在时,cwebuser未定义,yii,Yii,当函数存在时,未定义cwebuser.isShop。不明白为什么。我四处搜索,发现的都是同一个问题,没有答案? 我试图做的是从模块名商店登录,但我没有得到定义。我还缺什么 在我的主模块中 public function beforeControllerAction($controller, $action) { if(Yii::app()->getModule('shop')->user->isShop) Yii::app()->get

当函数存在时,未定义cwebuser.isShop。不明白为什么。我四处搜索,发现的都是同一个问题,没有答案? 我试图做的是从模块名商店登录,但我没有得到定义。我还缺什么

在我的主模块中

public function beforeControllerAction($controller, $action)
    {
    if(Yii::app()->getModule('shop')->user->isShop)  
        Yii::app()->getModule('shop')->user->setReturnUrl('shop/default/login');  
        else  
return false;
}
在webuser中:

function isShop(){
        if (!isset(Yii::app()->user->user))
            return false;
        $user = Yii::app()->user->user;
        return intval($user->user_role_id) == 2;
    }
如果你写信

Yii::app()->getModule('shop')->user->isShop 
您正试图访问名为
isShop
的对象用户变量。两个案例:

  • isShop
    是一个变量
  • isShop
    是一个虚拟变量
  • 你的是第二个案子。这意味着
    isShop
    是调用对象用户的函数
    getIsShop
    的结果,但您的函数仅命名为
    isShop

    两种解决方案:

  • 将函数
    isShop
    重命名为
    getIsShop
  • 使用直接调用主模块中的函数
  • Yii::app()->getModule('shop')->user->isShop()
    [见圆括号]