2015-01-29 1 views
1

Я использую PHP Symfony 2 с Twig. Может быть актуальным для чистого PHP.Как правильно настроить php vardump и twig, если расширение XDebug не активировано?

По соображениям производительности с WAMP + Windows 7 я деактивировал расширение XDebug. Теперь мои страницы загружаются быстрее.

Однако это связано с проблемами сбрасывания валов.

Прекрасный формат php var_dump исчез. Я установил REF, и я могу получить что-то подобное с ~r($myvariable).

Однако твин {{ dump(myvariable) }} больше не работает, я получаю полный пустой экран, хотя я проверял на стороне php, что myvariable действительно.

Как я могу правильно использовать var_dump как на PHP, так и на веточке без установки XDebug?

+0

ли стандарт 'var_dump()' работа в чистом PHP после установки 'REF'? –

+0

он работает, но формат уродливый. Все конденсировано, нет цветов, нет углублений. и это не ограничивается 3 уровнями, поэтому он загружает много ресурсов ressources. –

+0

. 'dump()' Twig просто использует стандартный 'var_dump'. И если он работает в чистом PHP, он должен работать в Twig. –

ответ

1

Вы можете использовать тег html <pre>, чтобы получить это легко.

HTML-<pre> элемент (или HTML Выровненный текст) представляет форматированный текст. Текст внутри этого элемента обычно отображается в непропорциональным шрифтом точно так же, как он выложен в файле. Пробелы внутри этого элемента отображаются как напечатанные.

Source

Ваш код будет выглядеть следующим образом:

echo '<pre>'; 
var_dump($variable); 
echo '</pre>'; 
+0

извините, это не помогает –

0

Ну, проблема вызвана var_dump демпинга всего объекта: если объект имеет множество ассоциаций, это занимает очень много времени php, чтобы отобразить результат, и он просто разбился веточкой.

Моего краткосрочное решения: нет var_dump объекта

Моего Среднесрочного решения: осуществить прутый фильтр для REF.

0

Обычно выход лучше с XDebug (когда html_errors включен), однако, если вы отключили расширение, вы можете добавить тег pre, например.

<pre> 
    {{ dump(user) }} 
</pre> 

или показать все переменные, используйте только <pre> {{ dump() }} </pre>. В качестве альтернативы проверьте источник кода, чтобы можно было правильно отобразить окончательные строки.

Обратите внимание, что функция сброса не доступна по умолчанию, так что вы должны добавить расширение Twig_Extension_Debug явно при создании среды Twig:

$twig = new Twig_Environment($loader, array(
    'debug' => true, 
    // ... 
)); 
$twig->addExtension(new Twig_Extension_Debug()); 

иначе dump функция ничего не отображается, если опция отладки на среда не включена.

Если у вас по-прежнему есть пустая страница, включите отчет об ошибках PHP и покажите его на странице или проверьте журнал ошибок PHP на наличие каких-либо подсказок.

См: Functions » dump

Смежные вопросы