Я некоторое время безуспешно искал решение своей проблемы, поэтому спрашиваю здесь.
Как мы можем вернуть кодированный в json результат для массива объектов (или простообъект), содержащий приватные свойства?
Действительно, когда вы используете json_encode ($ myObject), он не будет отображать приватные или защищенные свойства, которые присутствуют везде в модели при использовании Symfony ...
Я удивлен, что не смог найти такой метод, как json_encode, который бы вызывал геттеры вместо самих свойств.
Есть идеи?
EDIT
В этом случаеЯ бы предпочел сделать уникальную функцию, которая выглядит следующим образом:
public function toArray() {
$vars = get_object_vars($this);
$result = array();
foreach ($vars as $key => $value) {
if (is_object($value)) {
$result[$key] = toArray($value);
} else {
$result[$key] = $value;
}
}
return $result;
}
, чтобы избежать перезаписи каждого имени свойства каждый раз ...
Но в любом случае я думаю, что я просто создам массив, содержащийпеременные мне нужны, чтобы я не касался модели (сгенерированного кода).