Отладка twig в PHPStorm и VSCode

23 августа 2022 в 9:00
Аватар пользователя ivnish ivnish 3 3

Для отладки twig шаблонов я рассмотрю 3 способа.


Вывод значений переменных и массивов с помощью модуля twig_tweak

У популярного модуля twig_tweak есть функция dd, которая позволяет выводить на экран значения переменных и массивов.

Пример использования: {{ dd(content) }}

Также есть функция drupal_breakpoint, которая позволяет передать в xdebug значения переменных из twig. Просто ставим точку останова в нужном шаблоне и сбрасываем кэш (если кэширование включено)

Пример использования: {{ drupal_breakpoint() }}


Отладка с помощью модуля devel

Модуль devel еще с 2016 года имеет функцию devel_breakpoint, которая работает как drupal_breakpoint из модуля twig_tweak.

Пример использования: {{ devel_breakpoint() }}


Отладка с помощью модуля twig_xdebug

Модуль twig_xdebug появился в 2016 году за полгода до того, как функционал отладки twig добавили в модуль devel. Принцип работы тот же, что и у devel.

Пример использования: {{ breakpoint() }}



А какие способы отладки twig используете вы?

Авторы: 

Комментарии

Аватар пользователя VVS VVS 0

Если вы не можете установить Xdebug...

...читайте дальше и удачи вам, мой друг.

{{ dump() }}
{{ dump(variable_name) }}

Список доступных переменных (на верхнем уровне):

{{ dump(_context|keys) }}

Если у вас есть модуль Devel, вы можете получить аккордеонное отображение переменных, доступных для twig, с помощью:

{{ devel_dump() }}

Или вы можете использовать модуль Twig vardumper, который содержит vardumper для twig. Вы можете получить аккордеонное отображение переменных, доступных для twig, с помощью:

{{ dump() }}
{{ dump(variable_name) }}
{{ vardumper() }}
{{ vardumper(variable_name) }}

... но также учтите, что, потратив час или два на то, чтобы заставить Xdebug работать, вы намного облегчите себе жизнь, так как вам придется гадать, какие переменные вы можете использовать.

26 августа 2022 в 22:04