Задать вопрос
antipetya
@antipetya
интересующийся

Почему extends класс не перенимает переменную из родительского класса?

Есть два класса:

class Controller {

function __construct()
    {
        $this->view = new View;
        $this->model=new Model;
    }

}


и есть его дочерний класс:

class Controller_Main extends Controller {

    function __construct()
       {
            $this->paths = $this->model->path(); //строка о которой речь
            var_dump($this->paths); //вывожу инфо для дебага - всё ок. Данные есть
       }

}


если строку
$this->paths = $this->model->path(); перенести из дочернего класса в конец функции __construct() родительского класса, то var_dump() выдает null, и я не могу понять - почему?

Ведь это его родительский класс и что я пишу в родительском - то же что я написал в дочернем коде в указателе $this->
  • Вопрос задан
  • 2238 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
BoShurik
@BoShurik
Symfony developer
В дочернем классе забыли
parent::__construct()
Без этого вы переопределяете конструктор полностью.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы