Как получить массив атрибутов класса используя 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
208 +1
0
Ответы
1

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

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

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

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

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