Инициализация класса в конструкторе? Всем привет есть:class One extends Two{
public $obj;
public function __construct($param){
parent::_construct($param);
$obj = new Three();
}
public function obj_print(){
var_dump($obj); // NULL
}
}
Почему не инициализируется класс в конструкторе?

21 Авг 2019 в 07:02
188 +1
0
Ответы
1

Ошибка заключается в том, что вы забыли добавить $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.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир