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