FirePHP

FirePHP используется для создания сообщений консоли в браузере. Консоль сообщений, как правило созданы на JavaScript, но FirePHP посылает сообщения, такие как HTTP заголовки с ответом от сервера. Различные расширения браузера действуют для методов в качестве прокси, и конвертирует заголовки в журнал консоли.

Оглавление:
  1. Настройка FirePHP
  2. Основные регистрации с FirePHP
  3. Работа с FirePHP

почему это безопасно?

При использовании методов console.log() необходимо приложить усилия для просмотра отладочных сообщений. У посетителей консоль в браузере не открыта, следовательно он не будет видеть ваши сообщения отладки. Если вывести var_dum(), нет никакого способа скрыть сообщение.

Настройка FirePHP

Скачать FirePHP можно на странице установки и получить команды для установки через PEAR. Если вы используете другие структуры, такие как Zend Framework, там уже есть FirePHP поэтому нет необходимости в дополнительной установке.

Если вы используете Firefox, установите инструмент FireBug для отладки веб-приложений, а затем установите расширение FirePHP.

Если вы используете Chrome, достаточно просто установить только одно расширение FirePHP4Chrome.

Дальше откройте консоль в вашем браузере. В Firefox, нажмите на значок FireBug для вызова консоли. Убедитесь, FirePHP включен, нажав на значок FirePHP в консоли смотрите отмечена ли галочка рядом с включением. В Chrome, нажмите на значок настроек, выберите инструмент, и нажмите кнопку Инструменты разработчика для вызова консоли. FirePHP4Chrome будет автоматически включаться, когда консоль открыта.

К началу

Основные регистрации с FirePHP

Если вы когда-либо работали с разными уровнями протоколирования ошибки, значить видели дискуссии о различиях между тем, какие типы ошибок бывают: warn и error. Индивидуальная работа с приложением потребует использовать info и log. Могут быть причины, отправлять другие сообщения в консоль чем стандартное.

Протокол FirePHP поддерживает в настоящее время четыре типа сообщений: журнал, информация, предупреждения и ошибки.

Следующий код демонстрирует, как включить библиотеку FirePHP и выполнить каждый тип входа.

<?php
require 'FirePHPCore/fb.php';

FB::log('Log message');
FB::info('Info message');
FB::warn('Warn message');
FB::error('Error message'); ?>

Приведенный выше код просто включает библиотеку для FirePHP и вызывает различные методы ведения журналов. Есть несколько способов вызвать методы в библиотеку, поддерживая чистую глобальную функцию процедурных вызовов, вызов статического метода, и полностью создать вызов объекта.

Выход для обоих браузеров Firefox и Chrome.

FirePHP для отладки кода PHP
Выход для браузера Firefox
FirePHP для отладки кода PHP
Выход для браузера Chrome

Дисплей Firefox является немного красивее. Версия Chrome не имеет значок Информация, потому что console.log() в Chrome не поддерживает пока значок и не поддерживает console.table(). В примерах мы будем использовать Firefox и снимки в остальной части этой статьи сделаны в Firefox.

Для того чтобы сделать регистрацию более полезной, можно добавить метку в журнал сообщений. Это определено в качестве второго параметра метода ведения журналов.

<?php
require 'FirePHPCore/fb.php';

$turtles = $zooService->fetchAllTurtles();
FB::info($turtles, "All Turtles");?>

На следующем снимке, конкретное сообщение журнала. Для экономии места, Firebug/FirePHP покажет сокращенно. Наведите курсор на строку, чтобы увидеть весь код.

FirePHPCore
Конкретное сообщение журнала
К началу

Работа с FirePHP

Есть более продвинутые особенности, которые FirePHP действительно делает хорошо. Расскажу только о трёх — это сообщение, таблицы и следы.

Пример:

<?php
try {
$key = "user.{$userId}";
if (!SimpleCache::has($key)) {
FB::info($key, 'Cache miss:');
$userService = new UserService();
$user = $userService->fetchById($userId);
SimpleCache::set($key, $user);
}
$user = SimpleCache::get($key);
}
catch (Exception $e) {
FB::error($e);
Router::generate500();
}?>

Этот простой пример извлекает объект пользователя. Система использует некоторый тип кэширования и выдает исключения, когда пользователь не доступен. Когда код выполняется впервые, пользователь не кэшируются, так как FirePHP отправляет информационное сообщение. На следующем снимке показан результат для пользователя с ID5.

Сообщение FirePHP
Пользователь с ID5

Во второй раз, метод Info() и сообщение не отправляется в консоль. Теперь давайте представим себе, что кэш становится недоступным. (Я мог бы создать код, который сможет работать, если не было кэша, но это было бы просто, забрать все самое интересное!). В случае, когда память для кэша больше не доступна, метод set() вызывает исключение. На экране появится хорошая ошибка 500, в соответствии с настоящим кодом. Но, чтобы сразу видеть исключение и трассировки стека, вот здесь и нужен метод error(). Можно интерпретировать исключение объекта и войти.

FirePHP
Кэш становится недоступным

Для более быстрой отладки FirePHP может играть важную роль. Для самой безопасной отладки кода PHP, конечно лучше использовать IDE.

автор PHP 1471
htmlhook.ru | Скрипты для веб-приложений