Skip to content

Instantly share code, notes, and snippets.

@pafnuty
Last active June 5, 2017 17:43
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pafnuty/4917ce76245aab86677d to your computer and use it in GitHub Desktop.
Save pafnuty/4917ce76245aab86677d to your computer and use it in GitHub Desktop.
Вывод отладки в Bitrix через Kint
<?
# /local/php_interface/init.php
/**
* Вывод дебага через класс Kint
* @author Павел Белоусов <pb@infoexpert.ru>
*
* @param mixed $var Данные, которые требуется вывести
* @param string $function Функция, вызываемая из класса Kint. По умолчанию 'd'. Можно передать s, cd или ddd
* @param boolean $bAllUsers True — выводить всем пользователям (по умолчанию только для админов)
*
* @see https://github.com/raveren/kint/
* Возможные варианты вызываемых функций: 's', 'd', 'ddd', 'sd'
* Возможные варианты модификаторов к функциям: '-', '!', '+', '@', '~'
*
* Варианты использования:
* dump();
* dump(1);
* dump(false);
* dump(debug_backtrace());
* dump($arResult);
* dump($arResult, '-d');
* dump($arResult, '~d');
* dump($arResult, '!d');
* dump($arResult, 's');
* dump($arResult, '-s');
* dump($arResult, '~s');
* dump($arResult, '!s');
* dump($arResult, 'ddd');
* dump($arResult, '-ddd');
* dump($arResult, '~ddd');
* dump($arResult, '!ddd');
* dump($arResult, 'sd');
* dump($arResult, '-sd');
* dump($arResult, '~sd');
* dump($arResult, '!sd');
*
*/
function dump($var, $function = 'd', $bAllUsers = false) {
global $USER;
if ($bAllUsers || $USER->IsAdmin()) {
// Подрубаем класс только тогда, когда это нужно
// Конфиг класс лежит в файле config.php, рядом с самим классом (он его подхватывает автоматом)
require_once $_SERVER['DOCUMENT_ROOT'] . '/local/tools/Debug/Kint/Kint.class.php';
if ($var === 1 || $var === false) {
-ddd(debug_backtrace());
} else {
// @todo Наладить корректную передачу параметров вида ~s, !d и т.п.
switch ($function) {
case 's':
s($var);
break;
case '-s':
-s($var);
break;
case '!s':
!s($var);
break;
case '~s':
~s($var);
break;
case 'sd':
sd($var);
break;
case '-sd':
-sd($var);
break;
case '!sd':
!sd($var);
break;
case '~sd':
~sd($var);
break;
case '-d':
-d($var);
break;
case '!d':
!d($var);
break;
case '~d':
~d($var);
break;
case 'ddd':
ddd($var);
break;
case '-ddd':
-ddd($var);
break;
case '!ddd':
!ddd($var);
break;
case '~ddd':
~ddd($var);
break;
default:
d($var);
break;
}
}
}
return;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment