Как получить массив атрибутов класса используя get_object_vars в родителе? Вопрос в теме. Ситуация такова:class Catalog extends Table {
private $type;
private $desc;
}
abstract class Table {
public function __toString() {
$vars = get_object_vars();
return implode(', ', $vars);
}
}
Дополнение: Хотел вынести повторяющийся код в родительский класс, но вот беда, get_object_vars возвращает свойства не Catalog, а Table. Может кто подскажет грамотное решение.

21 Авг 2019 в 07:06
189 +1
0
Ответы
1

Для того чтобы получить массив атрибутов класса Catalog, вы можете использовать метод get_object_vars($this), который будет вызываться в дочернем классе Catalog.

В вашем коде вы можете изменить метод __toString() следующим образом:

public function __toString() {
$vars = get_object_vars($this);
return implode(', ', $vars);
}

Теперь при вызове метода __toString() у объекта класса Catalog, вы получите массив атрибутов этого класса.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир