Модификация CodeIgniter для включение profiler глобально
Запись опубликована (PHP) от Igor в 26-07-2008 22:06
Печать
В предыдущих проектах использовали этот простой, но шустрый php framework. В нем есть профайлер.
-
Внизу страницы появляться блок с отладочными данными о страницы:
- время генерации страницы, запросов
- GET/POST запросы
- SQL-запросы
- количество потребляемой памяти
Чтобы не вставлять этот код в каждом контроллере
$this->output->enable_profiler(TRUE);
был сделан следующий хак.
Модификация файла CodeIgniter\system\libraries\Controller.php
до
function Controller()
{
parent::CI_Base();
$this->_ci_initialize();
log_message('debug', "Controller Class Initialized");
}
и после
function Controller()
{
parent::CI_Base();
$this->_ci_initialize();
log_message('debug', "Controller Class Initialized");
// Hack CodeIgniter Profiler
if ($this->config->item('output_enable_profiler') == TRUE) {
$this->output->enable_profiler(TRUE);
}
}
Теперь в файле конфигурации приложения application\config\config.php можно добавить параметр
$config['output_enable_profiler'] = TRUE;
Если надо отключить профайлер устанавливаем значение FALSE. Если это мешает в каком-то конкретном контроллере, то пользуемся стандартной конструкцией:
$this->output->enable_profiler(FALSE);
Ссылки по теме:
CodeIgniter: Profiling Your Application
Профилирование приложения CodeIgniter
http://en.wikipedia.org/wiki/CodeIgniter
- CodeIgniter: создание PDF файлов
- Доступен для скачивания релиз Zend Framework 1.6 RC1
- Архитектура Zend Framework
- Обновился plugin sfFirePHP для Symfony
- 20+ ресурсов с готовыми CSS шаблонами




Двойка вам по CodeIgniter!
Модификация ядра осуществляется стандартными средствами платформы без модификации кода ядра.
Читайте маны.
http://codeigniter.com/user_guide/general/core_classes.html
:). Я все это прекрасно знаю. Все это делал специально, без использования наследования, скажем так на уровне ядра.
Кроме этого расширил вывод ошибок, добавив 5-й уровень. И самое главное реализовал мультиязычность для сайтов.