Автор Тема: Небольшая заметка по Zend_Db_Profiler  (Прочитано 1892 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн akajedi

  • Участник форума
  • Сообщений: 10
  • Карма: 1
    • Блокнот
Небольшая заметка по Zend_Db_Profiler
« : Июнь 04, 2012, 06:56:09 »
Увидел, что тут можно размещать материальчики. Думаю это для начинающих будет интересно.
Ссылка на пост в песочнице хабра.

Zend_Db_Profiler вам в помощь!
Много раз убеждался, что Zend Framework создан с умом и для удобства разработчика и примеров тому привеликое множество. Вот и на этот раз, был приятно удивлён, что добавив каких то пару строк кода, ты получаешь дополнительную информацию, которая даёт тебе возможность контролировать процессы несколько полнее и нагляднее.

Для того, чтобы счастье пришло и к вам, необходимо сделать только три простых вещи:

1. Добавить в файле application.ini в секцию production (или в нужную вам) дополнительную строчку:
resources.db.params.profiler = true
2. Создать представление (view), в чём отлично поможет Zend Tool с помощью команды
zf create view util profiler и добавить в него следующий код:

         
        
<?php
        
// get the default db adapter
        
$db Zend_Db_Table::getDefaultAdapter();
        
$profiler $db->getProfiler();
        if (
$profiler->getEnabled() && $profiler->getTotalNumQueries() > 0) {
            
?>
                   
        Database Profiling Report
                Total queries executed: <?php echo $profiler->getTotalNumQueries() ?>

                Total elapsed time: <?php echo $profiler->getTotalElapsedSecs() ?>

           
                                                #                Query                Time                                <?php foreach ($profiler->getQueryProfiles() as $queryNumber => $query) { ?>                                    (<?php echo $queryNumber 1 ?>)                    <?php echo $query->getQuery(); ?>                    <?php echo $query->getElapsedSecs(); ?>                    <?php ?>           
        <?php
        
}?>
         



3. А в ваш layout (в удобное для вас место) добавить ещё парочку строчек кода:

   
      
        
<?php
        $this
->addScriptPath(APPLICATION_PATH '/views/scripts');
        echo 
$this->render('util/profiler.phtml');
        
?>
         



После этих нехитрых манипуляций, вы сможете наблюдать (у меня это сделано внизу страницы, за закрывающим тегом ) следующую картину:



Дополнительная информация на оффсайте.
Паралельно используя xDebugger и PHPUnit можно намного облегчить жизнь разработчика.
Я их использую в связке с NetBeans на любимой мною Ubuntu, от чего несказанно рад.
Чего и вам желаю.
P.S.: Если будет желание посмотреть как всё это работает в живую, можно скачать исходники тестового проекта прямо с github.
Zend Framework я узнал сравнительно недавно. Сейчас усиленно его постигаю и готовлюсь к сдаче теста. Буду рад любой конструктивной критике и дополнениям.