«Уведомление PHP: неопределенное свойство» [закрыто]

Я получаю эту странную ошибку. Вы'скажу: "Почему странно? Вы просто нене имею такого свойства ", Проблема естьявляются имущество.

Там яЯ получаю ошибку.

// PHP Notice:  Undefined property: stdClass::$roles in
$canWrite = $this->session->isLoggedIn() ? $this->page->canWrite($this->session->user->roles) : false;

Это класс.

class User {
    protected $roles;

    function getRoles() {
        if (!$this->roles)
        {
            // Get them!
        }

        return $this->roles;
    }
}

Так что этот методявляется звонил, когда яЯ пытаюсь получить доступ к собственности в этой строке. Все работает нормально но я неЯ не хочу увеличивать мой журнал ошибок. Какие'происходит?

UPD1

$this->user->session являетсяUser объект

function getUser() {
    if (!$this->user) {
        $u = new User();
                    // Logic
        $this->user = $u;
    }
    return $this->user;
}
User Object
(
    [roleId:protected] => 1
    [roles:protected] => Array
        (
            [root] => Role Object
                (
                    [id:protected] => 1
                    [hrefname:protected] => root
                )

        )
)
UPD2

Все свойства доступны через магию__get()

public function __get($var) {
    if ($this->__isset($var)) {
        $method = 'get'.ucfirst($var);
        if (method_exists($this, $method)) {
            return $this->$method();
        } else {
            return $this->$var;
        }
    }
    throw new Exception("Unrecognized attribute '$name'");
}
UPD3

var_dump($this->session->user)

object(User)#370 (30) {
  ["roles":protected]=>
  array(1) {
    ["root"]=>
    object(Role)#372 (2) {
      ["id":protected]=>
      string(1) "1"
      ["hrefname":protected]=>
      string(4) "root"
    }
  }
}
объяснение

В одном месте я случайно написал$this->session->user->id = $user->id в месте, где$this->session->user еще не создан. Такnull->id на самом деле был(new stdClass())->id, Что ж,спасибо, PHP.

Ответы на вопрос(2)

Ваш ответ на вопрос