Понеже напоследък се правя на php developer често ми се налага да прекарвам "приятни" часове в debug-ване. И тъй като тази работа и без това е бавна и изнервяща, днес намерих начин да я направя поне малко по-човешка. Става въпрос за един български проект - Krumo.
Автора на проекта е небезизвестния Mrasnika. Странното е, че разбрах този факт малко след като тествах приложението защото сайта е на английски и по нищо не дава вид, че се разработва от българи/н.
Идеята му е, че вместо да се използва var_dump и print_r, които изкарват един доста inhumane output, е по-лесно да се използва доста по-красивия и лесен за разбиране интерфейс на krumo.
В случая съм принтнал $_POST и един стринг, който ми държи заявката към mysql. Можете да видите на шот-а, че всички масиви и променливи, които се извеждат от krumo излизат в приятни drop down блокове (ще ме извинявате за английския), което пък е много удобно ако на страницата и без това имате 1000 други елемента.
Инсталацията изисква просто да настроите url-ите в един конфигурационен файл и да include-нете class.krumo.php. След това просто викате :
krumo($_POST)
или каквото там ви трябва.
На по-малките картинки съм принтнал три пъти един и същ масив.
Първия път е просто:
print_r($array);
Изхода е около 3 екрана и ако ви се струва ок, то значи нещо наистина не ви е наред :D
Втория път съм приложил ултра мега хакерския метод за оформяне:
echo "pre";
print_r($array);
echo "/pre";
(стрелките на html таговете ги няма заради blogger, rrrr)
Това до някъде оправя положението, но този път изхода е около 7-8 екрана.
Третия вариант е просто:
krumo($array);
Сгънато заема 2-3 реда и можете по отделно да видите всеки елемент от масива.
Сами можете да видите разликата.
Опитайте го, вярно е, че можете и без него, но пък така е доста по-лесно.
* това не е платена публикация :P