Инициализация класса в конструкторе? Всем привет есть:class One extends Two{ public $obj; public function __construct($param){ parent::_construct($param); $obj = new Three(); } public function obj_print(){ var_dump($obj); // NULL } } Почему не инициализируется класс в конструкторе?
Ошибка заключается в том, что вы забыли добавить $this перед объектом $obj в конструкторе. Правильный код должен выглядеть так:
class One extends Two{ public $obj; public function __construct($param){ parent::__construct($param); $this->obj = new Three(); } public function obj_print(){ var_dump($this->obj); } }
После этого изменения объект $obj будет успешно инициализирован в конструкторе и будет доступен для использования в методах класса One.
Ошибка заключается в том, что вы забыли добавить $this перед объектом $obj в конструкторе. Правильный код должен выглядеть так:
class One extends Two{public $obj;
public function __construct($param){
parent::__construct($param);
$this->obj = new Three();
}
public function obj_print(){
var_dump($this->obj);
}
}
После этого изменения объект $obj будет успешно инициализирован в конструкторе и будет доступен для использования в методах класса One.