2011-01-18 4 views
2

Глядя на то, как измерить общее время выполнения PHP на сайте CakePHP. Похоже, что в 1.2 это было включено в обработанный HTML как комментарий HTML в режиме отладки, но этого не происходит на моем сайте 1.3, и в любом случае я хочу, чтобы это был элемент, который я могу вывести пользователю, а не комментарий.CakePHP 1.3: Измерение времени выполнения страницы

Я могу сделать это легко в обычном PHP, используя microtime(), но я не уверен, где добавить код в CakePHP, и я подозреваю, что он может иметь более надежный таймер выполнения. Идеи?

ответ

5

На всякий случай кому-то интересно, я решил это, добавив следующий код в мой layout.ctp. Вы могли бы также сделать это в контроллере и передать его как переменную, которая может быть немного более классической MVC-дружественной, но я хотел это на каждой странице сайта без дублирования кода в каждом контроллере.

Page rendered in <?php echo round((getMicroTime() - $_SERVER['REQUEST_TIME']) * 1000) ?>ms. 
0

Это не может быть «правильный» способ сделать это, но вы можете добавить следующий код PHP обратно в приложение/Webroot/index.php (в самом конце). Тогда, если у вас есть debug on> 0, вы получите прежнюю функциональность 1.2.

if (Configure::read() > 0) { 
    echo "<!-- " . round(getMicrotime() - $TIME_START, 4) . "s -->"; 
} 
1

Debug Kit. Среди других функций вы можете получить общее время выполнения через

DebugKitDebugger::requestTime() 
Смежные вопросы