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

Главные вкладки

Аватар пользователя remmor remmor 9 ноября 2018 в 9:17

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

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


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

Лучший ответ

Аватар пользователя remmor remmor 9 ноября 2018 в 11:53

Да, решения нет, пропатчить вышло несложно.
Модуль 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 9 ноября 2018 в 9:52

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

Аватар пользователя remmor remmor 9 ноября 2018 в 11:44

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

Аватар пользователя remmor remmor 9 ноября 2018 в 11:43

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

Аватар пользователя gun_dose gun_dose 9 ноября 2018 в 11:48

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

Аватар пользователя remmor remmor 9 ноября 2018 в 11:53

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

Аватар пользователя remmor remmor 9 ноября 2018 в 12:11

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

Аватар пользователя remmor remmor 9 ноября 2018 в 11:54

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