dump () не работает в Drupal 8 (пустая страница, отладка включена)

9

Я хочу использовать dump()в своем .twigшаблоне (внутри пользовательской темы).

Проблема в том, что когда я размещаю {{ dump() }}страницу просто пустой.

У меня было:

  1. Установить twig.confing debug: trueв services.yml.
  2. Очищен кеш.

В тот момент, когда я {{ dump() }}удаляю все, работает.

После нескольких часов прибегая к помощи я нашел некоторую информацию о тайне $settings['twig_debug'] = TRUE; здесь (я даже не имею такую строку в моем файле, но добавление его не меняет дело) и $twig = new Twig_Environment($loader, array(...(где найти его даже?).

Я работаю над чистой и свежей установкой Drupal 8, поэтому отладка (шаг 1) включает комментарии в исходном коде (как и должно быть), но я использую dump()один раз, и все, что вы видите, это просто пустая страница.

PolGraphic
источник
Вы проверили журнал Drupal?
Eyal
Вероятно, есть ошибка PHP, связанная с пустым экраном. Насколько я знаю, теперь вы хотите использовать Kint, а не dump (). См. Drupaleasy.com/quicktips/…
cilefen
1
Пустой экран означает в основном ошибку памяти, а поскольку dump () печатает все переменные, это может быть подсказка
Пол Бениш,

Ответы:

11

Я согласен с комментарием, оставленным для вопроса: Кажется, у вас проблема с нехваткой памяти . Проверьте журнал ошибок для сервера.

У меня была та же проблема с dump()и kint()в реализации template_preprocess_views_view_field(), при попытке вывести содержимое строки, на чистую и свежую установку Drupal 8. Я нашел обходной путь для kint(), который, кажется, временно исправить проблему с памятью. Добавьте следующие параметры в файл config.default.php для модуля Kint.

/** @var int max array/object levels to go deep, if zero no limits are applied */
$_kintSettings['maxLevels'] = 4;

Воспринимайте это как подсказку: выведите определенную переменную, а не весь массив переменных.

Оана Хулпой
источник
Также возможно печатать только переменные ключи (хотя я забыл как).
Eyal
Спасибо. Недостаток памяти был проблемой. Есть ли какие-либо maxLevelsнастройки для dump()(что-то, как $_kintSettingsвы предусмотрели kint())?
PolGraphic
1
@Eyal Думаю, ты об этом думалdump(_context|keys)
PolGraphic
Не так ли? Но если это работает, то это тоже хорошо.
Eyal
dump()используется $output = Variable::export($input)для вывода массива переменных. Кажется, что нет способа установить, сколько уровней нужно углубить в массив.
Оана Халпой