Отладка PHP-скриптов определенно недостаточно освещена в интернете. Потому многие, очень многие довольствуются print_r-ками. Очевидный недостаток такого способа — нельзя отладить AJAX, SOAP-сервисы, генераторы картинок и вообще скрипты, не отдающие непосредственно HTML-документов.
Javascript-разработчики используют для отладки Firebug. Как я им всегда завидовал. Лепота — выделенная консоль, net-монитор, отладчик, и все это в любимом браузере.
Так вот, нашел такое расширение Firebug — FirePHP. Оно позволяет выводить информацию в консоль Firebug непосредственно из PHP. Делается это довольно простым вызовом:
По натуре своей, являясь перфекционистом, стараюсь разложить все по своим (не моим, а именно своим) полочкам. Удается не всегда, но с BareTail и FirePHP определенно повезло – уровень осведомленности при отладке возрос необычайно и это при полном отсутствии всякого вывода напрямую в код страницы.
Пару недель решил взяться за изучение PHP и спустя какое-то количество времени отлаживать скрипты через echo стало неудобно. Вспомнил о существовании такой вещи как firePHP, почитал документацию, скачал, поставил, обрадовался. Ведь так классно отлаживать скрипты через консоль!
Но увы, по непонятным мне причинам («X-Wf-» заголовки доходят, а все равно «no messages in Firebug Console»*), не заработал. Посмотрел в интернете — безуспешно, пришлось самому решать проблему.
Есть одно правило — не показывать заказчику debug информацию, для этой цели обычно существует две конфигурации, но если заказчик очень любопытен, либо Вам, из эстетических побуждений, хочется скрыть килобайты дебаг информации? В этих благих намерениях нам поможет FirePHP.
При разработке одного интернет-магазина возникла проблема, что не добавляются товары в корзину.
В результате дебаггинга выяснилось, что CMS принимает меня за поискового робота, а им покупать ничего нельзя :-)
Всем веб-разработчикам, особенно в высоконагруженных проектах, рано или поздно приходится сталкиваться с профилированием своих приложений. Конечно, все мы знаем xdebug, с помощью которого можно проводить отладку серверной части. Однако, в тяжелых RIA-приложениях значительно чаще приходится отлаживаться в связке фронтенда+бэкэнд, всякие ajax-запросы, скорость отработки конкретных скриптов и все такое прочее. И для этих задач есть довольно-таки не плохой набор инструментов. Это xhprof и firephp.
Однажды, с обновлением Firefox мой любимый плагин Firebug был деактивирован. Причиной тому стала интеграция Firebug в консоль Firefox. Все это очень хорошо, за исключением того что перестал работать мой второй любимый плагин FirePHP, о его возможностях писали тут и тут.
Я немного расстроился и уже подумал переделать свои проекты под что-то новое, но решил посмотреть небольшой исходный код FirePHP. И тут выяснилось, что новая консоль Firefox поддерживает протокол Chrome Logger, поэтому с небольшими изменениями я сделал собственную версию FirePHP, которая работает по умолчанию в Firefox и Chrome, и конечно же с использованием Composer.