Хочу отметить, что при использовании FirePHP есть нюанс, на который обязательно нужно обратить внимание. FirePHP отправляет данные в заголовках (headers), а они должны быть отправлены раньше основного содержимого страницы. С другой стороны, ошибки могут возникнуть в коде, размещенном внутри страницы. Чтобы обойти это ограничение нужно по мере обработки страницы сохранить все выходные данные в буфере, сформировать и отправить заголовки, а после них – содержимое буфера. Реализовать все эти действия можно с помощью всего двух функций: ob_start (начинает запись в буфер) и ob_end_flush (отправляет все данные из буфера). Теперь возвращаемся к примеру. В строке 2 мы подключили библиотеку FirePHP. Она состоит из двух файлов: fb. php и FirePHP. class. php. Сама библиотека находится во втором файле, первый – представляет собой надстройку и позволяет немного сократить код. Чтобы отправить что-нибудь в консоль достаточно вызвать функцию fb и передать ей текст сообщения (строка 5). Этой функции можно передавать не только текст, но и переменные, а также указывать статус сообщения. Например, в строке 32 мы отправили массив $my_array, указали его название (второй параметр) и задали статус (INFO) в третьем параметре. Статус влияет на то, как сообщения будут отображаться в консоли. Кроме простых сообщений можно отправить дамп переменной (строка 33). Чтобы его увидеть, переключитесь на вкладку «Net», разверните запрос и выберите вкладку «Server». Примечание. На этой вкладке кириллица в именах массивов отображается не правильно. Но в самом содержимом массива ее можно использовать.
Теперь посмотрим, как FirePHP работает с Ajax. Для этого мы создали ссылку (строка 28), нажатие на которую будет отправлять запрос. И блок для вставки полученных данных (строка 29). Отправку запроса выполняет JavaScript код (строки 13-24). Код получился небольшим благодаря использованию библиотеки jQuery. В строке 17 мы добавляем обработчик клика по ссылке, а в строке 19 – отправляем запрос. Примечание. С недавних пор компания Google разместила популярные JS библиотеки на своих серверах. В строке 12 мы как раз загружаем сжатую версию jQuery с их сервера. Теперь рассмотрим сам файл ajaxscript. php