Вы здесь

Как заставить нормально работать Kint?

1

Пытаюсь что то вывести в шаблоне или же в .theme через kint()
Первая полоска выходит, но при попытке раскрыть, всё начинает жутко тормозить и зависает.
Много уже перерыл, но ничего не помогает, может кто, что подскажет?
Хочется именно kint, другое прошу не предлагать!

Версия Drupal: 
8.x
Связанные проекты: 
Devel
Вопрос задан 14.04.2017 - 16:53

Скорей всего вы дампите какой то очень тяжелый объект, либо Кинт не смог распознать рекурсию. Какой размер страницы вместе с этим дампом? Какие ошибки в JS консоле? Попробуйте открыть исходный код страницы и посмотреть что там.

Комментарий оставлен 15.04.2017 - 11:36

Ответы

1

В моём случае, всё зависало, потому что я сразу нажимал на знак "+", который разворачивает всё дерево сразу (не знал этого раньше). Решение, а также много других советов по теме нашёл здесь:
https://drupal.stackexchange.com/questions/211928/how-can-i-make-kint-lo...

Ответ дан 15.04.2017 - 12:06
0

Хочется именно kint, другое прошу не предлагать!

Хочется - пользуйтесь, но на тормоза не жалуйтесь.
А вообще для отладки php кода используется Xdebug - увидите все переменные в исследуемом scope и пошагово отследите все изменения. Для Twig шаблонов придется дополнительно установить https://www.drupal.org/project/twig_xdebug.
Если нужен именно дампер, то лучше использовать компонент Symfony VarDumper в виде модуля https://www.drupal.org/project/vardumper

Ответ дан 14.04.2017 - 17:14
Аватар пользователя drupby
drupby
449

Увы в нетбинсе нет:

Даже в Sublime Text имеется такая возможность. Хотите меня заставить установить NetBeans и показать, как там подобный функционал реализован?

Комментарий оставлен 15.04.2017 - 07:19

Хотите меня заставить установить NetBeans и показать, как там подобный функционал реализован?

Если у вас есть желание - я не против

а по существу:

Как заставить нормально работать Kint?

Комментарий оставлен 15.04.2017 - 11:02

Как заставить нормально работать Kint?

Как вариант: изменить операционную систему (возможно виртуальную), научиться пользоваться альтернативными профессиональными инструментами.

Комментарий оставлен 15.04.2017 - 11:46

Нет, спасибо, linux, вполне, устраивает.
А решение моей проблемы, нашёл здесь: https://drupal.stackexchange.com/questions/211928/how-can-i-make-kint-lo...
Не знал что:

Be sure to never click the + sign, that shows the entire tree. Click the block instead. You can click the right arrow to open the output in a new window for easier viewing (like when the output is in a block). (by @cwightrun on Slack)

Комментарий оставлен 15.04.2017 - 11:52

А решение моей проблемы, нашёл здесь:

В таком случае оформите решение в виде ответа, оформленного, как решенный данный вопрос.

Комментарий оставлен 15.04.2017 - 12:02

Поделись как быстро вывести переменную в phpstorm?

C xdebug это:
1. Поставить брикпоинт
2. Включить прослушку порта в phpstorm
3. Включить в браузере debug
4. Обновить страницу
5. Вылететь в phpstorm, посмотреть значение переменной
6. Продолжить выполнение скрипта
7. Отключить брикпоинт
8. Отключить прослушку порта
9. Отключить в браузере debug

Тогда как с debug():
1. написать debug()
2. обновить страницу, посмотреть значение переменной
3. удалить debug()

Комментарий оставлен 15.04.2017 - 22:05

Я обычно xdebug в шторме и в браузере не выключаю пока не закончу отладку. Поэтому реальное количество шагов в два раза меньше. К тому же каждый шаг это всего лишь один клик мышью (либо хоткей на клаве). Поэтому весь процесс укладывается в 1-2 секунды, что как минимум не дольше чем печатать debug($var);.

Комментарий оставлен 17.04.2017 - 07:41

Мне кажется xdebug куда эффективнее использовать имея два монитора, когда на одном phpstorm с дебагом, а на другом браузер. Иначе да, я тоже не понимаю как xdebug для банальных вещеий использовать. Огромное кол-во действий против ksm(). При этом удобно что можно сохранить данные ksm отделив во вкладку и закрепив её для будущего использования.

Комментарий оставлен 17.04.2017 - 10:41

Поделись как быстро вывести переменную в phpstorm?

Расписать конечно можно все по-разному и добавить любое количество шагов. Только "Включить прослушку порта"/"Отключить прослушку порта" и "Включить в браузере debug"/"Отключить в браузере debug" требуется лишь раз изначально. "Вылететь в phpstorm, посмотреть значение переменной" - после просмотра в браузере переменной и копировании ее полного имени, не придется ли возвращаться в редактор/IDE? Как показывает практика, твои 9 надуманных шагов в phpstorm по времени занимают не больше трех недосчитанных с debug().

Огромное кол-во действий против ksm()

Поставить точку останова и обновить браузер - не огромное количество действий.

Мне кажется xdebug куда эффективнее использовать имея два монитора, когда на одном phpstorm с дебагом, а на другом браузер.

А вот подобное мне кажется ненужным извращением.

Комментарий оставлен 17.04.2017 - 15:03

А умеет ли Xdebug в PHPStorm показать сразу все доступные методы и свойства просматриваемого объекта? В NetBeans я такого не вижу, а вот Kint($object) это умеет.

Комментарий оставлен 17.04.2017 - 15:18

Страницы