Подтвердить что ты не робот

Слишком много данных с var_dump в symfony2 doctrine2

У меня около 40 сущностей и много двунаправленных отношений. Всякий раз, когда я использую var_dump ($ user) или любую сущность, мой браузер загружается слишком большим количеством массивов и переменных, тогда он просто разбился.

Я хочу, чтобы проблема.

Данные вставляются штрафом. Могу ли я вызвать проблему в производстве.

4b9b3361

Ответ 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();