ThinkPHP 3.2 获取页面运行时间

发布时间:2015年08月07日 // 分类:代码 // 暂无评论

在ThinkPHP中,可以通过在config.php中配置'SHOW_PAGE_TRACE' =>true, 打开页面调试,实现页面载入时间的显示。但显示在页面右下角TP的LOGO显然不能适用于我们的生产环境。同时,ThinkPHP用于调试某段代码的运行时间的G函数也不一定适用。

在ThinkPHP的公共入口文件\ThinkPHP\ThinkPHP.php开头其实就有埋下开始运行时间的时间戳和内存用量。

//----------------------------------
// ThinkPHP公共入口文件
//----------------------------------

// 记录开始运行时间
$GLOBALS['_beginTime'] = microtime(TRUE);
// 记录内存初始使用
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();

因此,在ThinkPHP中要获取程序运行时间,只要在尾部获取时间戳,与开头的$GLOBALS['_beginTime']相减即可。

在需要显示程序运行时间的地方插入如下代码即可:

<?php echo(round(microtime(true)-$GLOBALS['_beginTime'],4).'s');?>

或者

Common\function.php中插入如下函数:

//计算执行耗费时间
function get_runtime(){
    $ntime=microtime(true);
    $total=$ntime-$GLOBALS['_beginTime'];
    return round($total,4);
}

在模板需要调用运行时间的位置直接调用函数即可:

{:get_runtime()}s

本文固定链接
https://www.ywlib.com/archives/21.html

标签
php, thinkphp, 时间

添加新评论 »