В предыдущих проектах использовали этот простой, но шустрый 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
Июль 26th, 2008 at 22:31
Двойка вам по CodeIgniter!
Модификация ядра осуществляется стандартными средствами платформы без модификации кода ядра.
Читайте маны.
http://codeigniter.com/user_guide/general/core_classes.html
Июль 26th, 2008 at 22:35
:). Я все это прекрасно знаю. Все это делал специально, без использования наследования, скажем так на уровне ядра.
Кроме этого расширил вывод ошибок, добавив 5-й уровень. И самое главное реализовал мультиязычность для сайтов.
Апрель 18th, 2011 at 08:26
Я реализовал
http://habrahabr.ru/blogs/codeigniter/55477/
Прикручиваем небольшой бар, с основными данными, плюс отображает аякс запросы. Этот бар не заменяет профайлер, а прекрасно его дополняет. В ряде случаев, той информации, что выдает бар, более чем достаточно.