【发布时间】:2012-03-15 16:55:15
【问题描述】:
我有一个 symfony 1.4.x 应用程序,希望能够显示页面加载时间。
在开发环境中,加载时间显示在调试工具栏中。
如何在 app/%APP_NAME%/templates/layout.php 中获取该页面的加载时间?
谢谢
【问题讨论】:
标签: symfony1 symfony-1.4
我有一个 symfony 1.4.x 应用程序,希望能够显示页面加载时间。
在开发环境中,加载时间显示在调试工具栏中。
如何在 app/%APP_NAME%/templates/layout.php 中获取该页面的加载时间?
谢谢
【问题讨论】:
标签: symfony1 symfony-1.4
一般来说,要测量 php 中的执行时间,您可以使用类似的方法:
$start = microtime(true /*get as float*/);
//some code goes here (i.e. your symfony request dispatching)
$end = microtime(true);
echo sprintf("some code executed for %.3f seconds", $end - $start);
Symfony 框架的诀窍在于将代码注入到合适的位置,我的建议是:
当然,在布局文件中计算页面加载时间的差异有它的缺点,因为它不计算整个页面的渲染时间,只是到布局渲染的那一刻(这是可以接受的,因为渲染布局是最后一个任务之一)请求调度,但布局并不总是呈现)
要解决这个问题,您可以在请求结束时使用过滤器来输出 javascript,这会将页面加载时间附加到文档(几乎是 symfony 使用它的调试工具栏所做的)
【讨论】: