Инициализация класса в конструкторе? Всем привет есть: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
165 +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 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир