У меня около 40 сущностей и много двунаправленных отношений. Всякий раз, когда я использую var_dump ($ user) или какой-либо объект, мой браузер загружает слишком много данных массивов и переменных, тогда он просто падает.
Я хочу понять, в чем проблема.
Данные вставляются нормально. Могу ли я вызвать проблемы в производстве?
Ответы:
Замените var_dump () методом отладки dump (), предоставленным Doctrine Common .
Он работает для отдельных объектов и коллекций Doctrine и должен предотвращать проблемы с отображением в браузере, которые у вас возникают.
источник
dump()
с MaxDepth , воdump()
втором аргументе MaxDepth .error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1));
вводить каждый раз довольно громоздко, но вы можете легко создать для него макрос.хорошо отформатирован:
источник
Простой и легкий пример.
источник
Проблема в том, что в двунаправленных отношениях обе сущности связаны друг с другом, поэтому при отображении entity1 var_dump также придется распечатать все свойства entity2, включая сам entity1, дающий вам цикл.
источник
Symfony <2.6
Вы можете использовать
\Doctrine\Common\Util\Debug::dump($variable, $depth);
его для отображения вывода доктрины без информации прокси.Symfony> 2.6
Если вы используете Symfony 2.6 или выше, я настоятельно рекомендую вам использовать
dump()
. Он показывает хорошо оформленный и цветной вывод, и вы можете динамически расширять / скрывать строки.источник
Get_object_vars () также улучшает визуализацию.
источник
В Symfony 2.6 теперь вы можете просто использовать dump ($ var) в вашем контроллере и {{dump (var)}} в twig.
Обязательно добавьте это в свой файл AppKernal.php в раздел array ('dev', 'test').
источник
используйте dump ($ user), и вы увидите отличный результат в Symfony Profiler! удачи
источник
Просто используйте echo serialize ($ user);
источник