Как получить массив атрибутов класса используя 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. Может кто подскажет грамотное решение.
Для того чтобы получить массив атрибутов класса Catalog, вы можете использовать метод get_object_vars($this), который будет вызываться в дочернем классе Catalog.
В вашем коде вы можете изменить метод __toString() следующим образом:
public function __toString() { $vars = get_object_vars($this); return implode(', ', $vars); }
Теперь при вызове метода __toString() у объекта класса Catalog, вы получите массив атрибутов этого класса.
Для того чтобы получить массив атрибутов класса Catalog, вы можете использовать метод get_object_vars($this), который будет вызываться в дочернем классе Catalog.
В вашем коде вы можете изменить метод __toString() следующим образом:
public function __toString() {$vars = get_object_vars($this);
return implode(', ', $vars);
}
Теперь при вызове метода __toString() у объекта класса Catalog, вы получите массив атрибутов этого класса.