Как вызвать переменную предка класса?

Есть два класса a и b как получить переменные из класса b если они переназначены?
class a {
	public $data;
}

class b extends a {
	public $data;
	public function get_data() {
		Как вызвать $data класса a?
	}
}

Вот так не работает
class a {
	public $data;
}

class b extends a {
	public $data;
	public function get_data() {
		parent::data;
	}
}

Нашёл костыль в интернете
class a {
	public $data;
	public function data() {
		return $this->data;
	}
}

class b extends a {
	public $data;
	public function get_data() {
		parent::data();
	}
}

Есть ли без костыльное решение?

[Решение]
Использовать разные названия переменных, к сожалению нормального перенаправления переменных в пыхе пока нет.
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
romy4
@romy4
Exception handler
вы нарушили основной принцип DRY (do not repeat yourself). это значит, что вам не нужно определять переменную с тем же названием и доступом в дочернем классе, если она есть в родительстком (-их)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
parent::data;

Почему вы так-то вызываете? Это же не константа.

parent::$data;
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы