Вы можете получить список свойств объекта с помощью get_object_vars , и из каждого из них вы можете получить значение каждого свойства, используя магический метод __get (). См. этот ответ . РЕДАКТИРОВАТЬ: Вам даже не нужен магический метод ... get_object_vars
уже возвращает значения.
Пример, модифицированный по вышеуказанным ссылкам:
class Foo {
private $a;
private $d;
public function getAllFields() {
return get_object_vars($this);
}
}
Тогда вы можете получить все (нестатические) свойства, включая частные, с помощью этого:
$item = new Foo();
$fields = $item->getAllFields();
и вы можете получить значения каждого поля следующим образом:
foreach ($fields as $fieldName => $fieldValue) {
echo $fieldName . ' has value ' . $fieldValue;
}
Это непроверенный код, но он должен работать.