Крутая дампилка dBug
Нашёл недавно
Что умеет:
- выводит разные дампы для разных типов данных: скалярные переменные (строки, числа), объекты, табличку с результатами запроса к БД по передаче переменной с ресурсом, XML. Для каждого типа настроен свой CSS, так что весьма наглядно;
- дампы по идее не имеют ограничений по вложенности, т.е. свободно дампятся массивы структур, вложенные массивы, итд;
- если весь дамп либо какая-то его ветка занимают слишком много места, то их можно свернуть/развернуть щелчком мыши (JavaScript разумеется).
Минусы:
- я использую каркас Fusebox 4, и там все такие "плагины" подключаются в самом начала работы приолжения. Так вот этот самый дампер херит мой валидный хтмл тем, что сразу выводит свои функции и цсс-классы ещё до заветного <html>. Автор упоминает это в комментах, и это чинится разрезанием класса на 3 части: JavaScript, CSS и PHP по отдельности (это не трудно, всё разграничено);
- плохо дампит строки: если дампить строку, в которой есть хтмл-код, то он будет проинтерпретирован, а также пропадают переносы строк. Поэтому я сделал небольшую правку, после которой этот плагин начинает замечательно работать со скалярными типами, просто любо-дорого теперь работать. Правки такие:
- В РНР-классе в функции checkType() находится единственный switch(), вот в дефолт-часть оного надо вставить это$this->makeTableHeader("scalar", gettype($var));
echo "<tr>\n<td align=\"left\">";
echo (empty($var)) ? "[empty string]" : nl2br(htmlspecialchars($var));
echo "</td>\n</tr>\n</table>";
break; - В CSS надо вставить такие объявления (тут можно настроить свою цветовую гамму):/* scalar */
table.dBug_scalar { background-color:#a0a; }
table.dBug_scalar td { background-color:#FFFFFF; }
table.dBug_scalar td.dBug_scalarHeader { background-color:#dfd; }
table.dBug_scalar td.dBug_scalarKey { background-color:#FCF; }
0 комментов:
Отправить комментарий