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

时间:2019-04-15 09:04:10

标签: php

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();

的任何地方

我遇到此错误

  

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

您能帮忙什么在这里吗?谢谢。

1 个答案:

答案 0 :(得分:0)

好的,我发现如果我这样称呼它:

    $loggedUser = new Settings($this);
    $role = $loggedUser->UserRole();

然后工作正常。如果我像$ this-> Settings-> UserRole();