Kint, ksm и место вызова

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

Не пойму это баг или фича, что после ksm() показывается вызов не оттуда, в каком файле и какой строке я вызвал эту функцию, а постоянно одно и тоже   Called from <ROOT>/modules/contrib/devel/kint/kint.module:55 [ksm()]

вместо полезной информации, с какой именно строки идет данный вызов. И только крестиком развернув порядок вызовов мы получим в первой же строке данную полезную информацию.


Может где есть какая настройка, чтобы сразу показывать, без тыканья на крестик?

Модули и темы:
Тип материала:
Версия Drupal:
0 Thanks

Лучший ответ

Аватар пользователя remmor
remmor 5 дней назад

Да, решения нет, пропатчить вышло несложно.
Модуль devel, файл kint/kint/Kint.class.php, перед строкой 239
<?php $output .= call_user_func( array( $decorator'wrapEnd' ), $callee$miniTrace$previousCaller );?>добавить строчку <?php $callee array_shift($miniTrace); ?>Слыхал что можно как то патчи встраивать правильно, чтобы не затиралось, но пока не умею, так что так.

Комментарии

Аватар пользователя gun_dose
gun_dose 5 дней назад

Такой настройки нет. А ещё вместо kint лучше использовать vardumper - он немного шустрее работает. Но это всё до той поры, пока не появится в выводе какой-нибудь большой объект: что происходит довольно часто. В таком случае вывести переменную вообще не получится - только xdebug.

Аватар пользователя remmor
remmor 5 дней назад

вот поэтому vrdumper и не вариант, ибо везде эти чертовы объекты. Ок, будем патчить devel под свои желания

Аватар пользователя remmor
remmor 5 дней назад

Так dsm вообще не работает верно на восьмерке же, но просто выводит как print_r почти, поэтому везде написано пользоваться ksm и kint .
На семерке то dsm отлично работает

Аватар пользователя gun_dose
gun_dose 5 дней назад

В настройках devel есть опция, что использовать для вывода. Там можно включить кинт по умолчанию, который будет срабатывать для dsm

Аватар пользователя remmor
remmor 5 дней назад

Да, решения нет, пропатчить вышло несложно.
Модуль devel, файл kint/kint/Kint.class.php, перед строкой 239
<?php $output .= call_user_func( array( $decorator'wrapEnd' ), $callee$miniTrace$previousCaller );?>добавить строчку <?php $callee array_shift($miniTrace); ?>Слыхал что можно как то патчи встраивать правильно, чтобы не затиралось, но пока не умею, так что так.

Аватар пользователя itcrowd72
itcrowd72 5 дней назад

Через файл composer.json. Но это при условии, что проект собран через composer

Аватар пользователя remmor
remmor 5 дней назад

Да, я знаю что через composer, но опыта и практики подобной нету, учитывая опыт создания вообще патч-файлов, как делать которые я вообще не в курсе. Да и пока времени нет. Сайт композерный, да

Аватар пользователя itcrowd72
itcrowd72 5 дней назад

Ну вам может делать их и не придется. В основном ставить чужие патчи с drupal.org

Аватар пользователя remmor
remmor 5 дней назад

Не знаю, что опухает, но в 8-ке dsm не работает как надо, и только. Остался бы он как в семерке - проблем бы не было.