PHP未捕获的错误:在null上调用成员函数userRole()

我在Settings.php中有一个名为class Settings的类


    class Settings


{  public function UserRole($is_login = false){


        $default = ['id' => 1, 'name' => 'New user'];


        $user_role = $this->getUser($id);

        if( !$user_role )

            return $default;


else ... etc.}

}

问题是,在我的User.php中,我有以下内容:


    use Settings;


class Helper_User extends \Zend_View_Helper_Abstract

{


public function mainNavigation($is_collapsed = false){

        $instance = Zend_Controller_Front::getInstance();

      ...

        return $this->container();

    }


 public function container(){

        $newuser = $this->getNewUser();


        $html = "blabla";

        return $html;

    }

}

在任何我想放这个的地方 $role = $this->Settings->UserRole();


我有这个错误


未捕获的错误:在null上调用成员函数UserRole()。


你能帮忙这里有什么问题吗?谢谢。


慕哥9229398
浏览 157回答 1
1回答

小怪兽爱吃肉

嗯,我发现如果我这样称呼它:    $loggedUser = new Settings($this);    $role = $loggedUser->UserRole();那么它工作正常。如果我像$ this-> Settings-> UserRole()这样操作,它将无法正常工作。
打开App,查看更多内容
随时随地看视频慕课网APP