Программирование на PHP. Подключаем FirePHP к фреймворку CodeIgniter

11 июня, 2008

Логотип для CI and FirePHP
В этой статье я продолжу тему использования библиотеки FirePHP при разработке web приложений. Сегодня речь пойдет о подключении этой библиотеки к фреймворку CodeIgniter. Из предыдущей статьи вы, наверное, помните, что подключение этой библиотеки к обычному php скрипту не представляет сложности. С подключением к CodeIgniter ситуация немного сложнее, но прелесть ситуации в том, что основная часть работы уже сделана за нас.

Правда, есть несколько нюансов.

Рассмотрим весь процесс по порядку.

1) Качаем FirePHP и устанавливаем плагин FireFox (подробные инструкции в предыдущей статье)

2) Качаем расширение Fire Ignition.

3) Распаковываем архив Fire Ignition в папку system вашего приложения.

После этого у вас появится несколько новых файлов. В папке application/libraries: Firephp_fake.php, MY_Controller.php. В папке application/controllerswelcome.php (в этом файле находится только демонстрационный пример).
Кроме того, будет добавлен файл application/config/fireignition.php с одной настройкой:

$config['fireignition_enabled'] = TRUE;

Как несложно догадаться она подключает FireIgnition.

Кстати, очень полезная опция для сайта размещенного на «боевом» сервере

$config['fireignition_enabled'] = $_SERVER['REMOTE_ADDR'] == '127.0.0.1';

включает FireIgnition только для запросов с заданного IP адреса.

4) Теперь нужно скопировать файлы FirePHP в папку application/libraries. Если быть точным, нужен всего один файл FirePHP.class.php, причем его необходимо переименовать в Firephp.php.

Все. Установка и настройка завершена. Теперь мы можем отправлять сообщения. Например:

$this->firephp->fb('test');

Кстати, наткнулся на интересный момент. Чтобы было удобнее отправлять сообщения кириллицей, я изменил кодировку контроллера на UTF-8, и сразу же получил ошибку отправки заголовков. Честно говоря, я так и не разобрался, что отправляется при изменении кодировки и, поэтому решил проблему самым примитивным способом: добавил функцию ob_start() в самое начало файла index.php.

После этого, я решил немного упростить вызов функции отправки сообщения, а точнее сократить его. Для этого я написал небольшой хелпер, который позволяет отправлять сообщения простым вызовом функции fb (как и в оригинале).

Файл с хелпером называется fireignition_helper.php, должен быть размещен в папке application/helpers и содержит следующий код:

  1. <?php
  2.  
  3. if (!defined('BASEPATH')) exit('No direct script access allowed');
  4.  
  5. function fb() {
  6.  
  7.     $obj = &amp;get_instance();
  8.  
  9.     $args = func_get_args();
  10.  
  11.     return call_user_func_array(array($obj->firephp, 'fb'), $args);
  12.  
  13.     return true;
  14.  
  15. }
  16. ?>

Перед использованием хелпер нужно подключить:

$this->load->helper('fireignition');

А после этого можно использовать функцию fb(...):

fb(‘Привет’);

Как видите, ничего сложного.

Удачи вам и поменьше поводов использовать эту библиотеку :-) .

Постовой: автор блога Virtual-lab начал акцию «Бесплатная регистрация в каталогах». Смысл простой. Вы упоминаете его акцию в своем блоге, а он – регистрирует ваш сайт в 6000+ каталогах.

Понравилась статья? Подпишитесь на продолжение rss link !

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в CodeIgniter, PHP, Web разработка

]]>

Комментарии (2)

Вы можете отслеживать обсуждение записи с помощью RSS 2.0 rss link

Вы также можете оставить комментарий, или трекбек с Вашего сайта.

  1. Big_Shark 14.11.2008 в 08:43 (Ответить)

    Я просто положил файл Firephp.php в папку application/libraries и запускаю его так
    $this->load->library('FirePHP');
    $this->firephp->info('FirePHP загружен.');

    и все прекрастно работает и не какой Fire Ignition не нужен
    а если вы хотите сказать что Firephp работает только в php5 и Fire Ignition нужен для того чтобы в php4 он неругался то можна после запуска добавить проверку 5 php или нет и менять $this->firephp->setEnabled($Enabled); вот и все)
    Логи в FirePHP

    1. Владимир 14.11.2008 в 20:19 (Ответить)

      Честно говоря, я просто не обратил внимания, что firephp соответствует всем требованиям CI к библиотекам. Поэтому просто использовал проверенное решение (CodeIgnition), которым уже не один раз пользовался :)

Оставить комментарий

Введите ваш комментарий

* - обязательные для заполнения поля

Quicktags:

]]>