У меня около 40 сущностей и много двунаправленных отношений. Всякий раз, когда я использую var_dump ($ user) или любой объект, мой браузер загружается слишком большим количеством данных массивов и переменных, тогда он просто разбился.
Я хочу, чтобы проблема.
Данные вставляются штрафом. Могу ли я вызвать проблему в производстве.
Замените var_dump () дампом метода отладки (), предоставленным Doctrine Common.
\Doctrine\Common\Util\Debug::dump($user);
Он работает для отдельных объектов и коллекций Doctrine и должен помешать браузеру отображать проблемы, которые у вас есть.
хорошо отформатирован:
echo '<pre>'; \Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay); echo '</pre>';
Простой и легкий пример.
var_dump(serialize($Object));
Проблема заключается в том, что в двунаправленном отношении оба объекта имеют ссылку друг на друга, поэтому при отображении entity1 var_dump также должен будет распечатать все свойства объекта2, которые включают в себя сам сущность1, дающий вам цикл.
Get_object_vars () улучшает визуализацию.
echo "<pre>"; \Doctrine\Common\Util\Debug::dump(get_object_vars($user));
Просто используйте сериализацию эха ($ user);
используйте дамп ($ user), и вы можете увидеть отличный результат в Symfony Profiler! удачи
Symfony <2.6
Вы можете использовать \Doctrine\Common\Util\Debug::dump($variable, $depth);
он отображает вывод доктрины без информации прокси.
Symfony> 2.6
Если вы используете symfony 2.6 или более, я настоятельно рекомендую вам использовать dump()
. Он показывает хорошо сформированный и цветной выход, и вы можете динамически расходовать / спрятать строки.
С Symfony 2.6 теперь вы можете просто использовать дамп ($ var) в вашем контроллере и {{dump (var)}} в ветке.
Обязательно добавьте это в свой файл AppKernal.php в разделе array ('dev', 'test').
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();