Symfony1 如何获得symfony页面加载时间?

Symfony1 如何获得symfony页面加载时间?,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我有一个symfony 1.4.x应用程序,希望能够显示页面加载时间 在开发环境中,加载时间显示在调试工具栏中 如何在app/%app_NAME%/templates/layout.php中获得页面加载时间 一般来说,感谢您在php中测量执行时间,您可以使用这样的方式: $start = microtime(true /*get as float*/); //some code goes here (i.e. your symfony request dispatching) $end =

我有一个symfony 1.4.x应用程序,希望能够显示页面加载时间

在开发环境中,加载时间显示在调试工具栏中

如何在app/%app_NAME%/templates/layout.php中获得页面加载时间


一般来说,感谢您在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框架的诀窍是将代码注入到适当的位置,我的建议是:

  • 使用过滤器链(如果您熟悉此机制)。只需在任何其他过滤器之前插入过滤器,记录第一个$start timestamp,并计算布局文件中的差异
    • 供参考-
  • 或者IMHO更难看,但更准确一点-在调度呼叫之前,破解symfony前端控制器,记录您的$start时间戳
当然,计算版面文件中页面加载时间的差异也有其缺点,因为它不计算整个页面的呈现时间,直到呈现版面为止(这是可以接受的,因为呈现版面是请求调度的最后一个任务之一,但并不总是呈现版面)


要解决这个问题,您可以在请求结束时使用过滤器输出javascript,这将在文档中附加页面加载时间(相当于symfony使用调试工具栏所做的)

一般来说,要在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框架的诀窍是将代码注入到适当的位置,我的建议是:

  • 使用过滤器链(如果您熟悉此机制)。只需在任何其他过滤器之前插入过滤器,记录第一个$start timestamp,并计算布局文件中的差异
    • 供参考-
  • 或者IMHO更难看,但更准确一点-在调度呼叫之前,破解symfony前端控制器,记录您的$start时间戳
当然,计算版面文件中页面加载时间的差异也有其缺点,因为它不计算整个页面的呈现时间,直到呈现版面为止(这是可以接受的,因为呈现版面是请求调度的最后一个任务之一,但并不总是呈现版面)


要解决这个问题,您可以在请求结束时使用过滤器输出javascript,这会将页面加载时间附加到文档中(与symfony使用调试工具栏所做的差不多)

我希望能够调用跟踪页面处理时间的内置symfony函数。我不建议这样做,由于Symfony的评测非常昂贵,在开发环境之外启用此功能将非常困难。我希望能够调用跟踪页面处理时间的内置Symfony函数。我不建议这样做,因为Symfony的评测非常昂贵,在开发环境之外启用此功能将非常困难。