Любой из разработчиков не раз видел чужие отладочные сообщения. Хуже, когда их видят и посетители. Мне не нравится, когда они «рвут» вёрстку, а уж как их любят наши барыни, что занимаются вёрсткой шаблонов — я умолчу. Иногда при отладке компонента возникает необходимость быстро их убрать и посмотреть на «чистовой» результат.
Наверное, каждый второй, пользуется подобной функцией:
<?
function ec($str)
{
global $USER;
if ($USER->GetID() == 63)
{
if (is_array($str))
{
echo "<pre>";
print_r($str);
echo "</pre>";
}
else
{
echo $str;
}
}
}
?>
Решил немного развить идею и добавить пару «полезняшек».
Что получилось и общая идея
каждый разработчик должен видеть только свои дампы
должна быть возможность единовременно отключить их вывод
нужно видеть из какого файла идёт вывод значения
Всех разработчиков загоняем в группу DebugUsers(при первом вызове создаётся автоматически).
Если у разработчика есть хитрая кука, то отладочные сообщения показывается, если нет, то соответственно нет. Регистрируем кнопку с возможностью «включить» или «выключить» вывод отладочных сообщений
Можно видеть, откуда вызывают функцию d(111, 'mesm');
Что лежит в куке? - USER_ID - это пользователя - USER_LOGIN_HASH - хэш от логина + дата регистрации, так мы подписываем пользователя, чтобы убедиться, что это он имеет право смотреть вывод отладочных сообщений - BITRIX_BOX_HASH - подписываем все значения для этой коробки, даже для незалогиенных пользователей, что бы хитрые люди не смотрели на отладочные сообщения для админа сфабриковав куку. Берем хэш от даты регистрации админа и полного пути к скрипту по файловой системе
Т.е.при анонимном вызове d() отладочное сообщение будут видеть все члены группы DebugUsers, у которых сейчас есть кука, подписанная этой коробкой от битрикса.
Если сделать вызов d('hello world', 'mesm'), то соответственно видеть эти сообщения буду только я.
Скачать и попробовать можно с гугло-кода - BxToolbox
Бетой это не назвать, но за фидбек буду благодарен. Как за идеологическую часть, так и за замечания по коду.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».