已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 教程

标题: [PHP]响应时间 v2.0 - 最终单例类and构造方法and析构方法

作者: @Ta

时间: 2017-12-29

点击: 5323

欢迎评论!
<?php
/**
 * 描述:这是第一个版本
**/
$stime=microtime(true);
include "index.php";
$etime =microtime(true);
$res =substr(($etime - $stime),0,5);

文章末尾提供源码下载链接。
<?php
/**
 * Class Name:响应时间 - 最终单例类/精简/纯净版
 * Version: 2.0
 * By: php64.top - 油果
 * @date    2017-12-21 20:00:00
 * 描述:1、简单实用!巧妙运用类的构造、析构方法
 * 		 2、实现自动结算执行脚本所消耗的时间。
 * 使用方法:加载当前文件到任意PHP文件的头部即可生效!
 * 温馨提示:位置越靠前,取值越精确!(require or include)
**/
header("content-type:text/html;charset=UTF-8");
$xytime =xytime::newtime();//响应时间开关,注释本行就能禁用
final class xytime{
	private $stime =null;//记录脚本开始执行的当前时间(精确到微秒)
	private static $abc = null;// 私有 +1
	private function __clone(){}//私有 +1
##任务1:动态获取脚本开始执行的时间!
	private function __construct()//私有 +1
	{//构造方法:一但实例化,则初始化
		$stime=microtime(true);//获取当前时间戳+微秒值
		$this->stime =$stime;
	}
##任务2:动态获取脚本执行结束的时间!
	function __destruct()
	{//析构方法:脚本执行结束后,自动触发
			$etime =microtime(true);
			$res ="<br />效率:".substr(($etime - $this->stime),0,5)."秒";// 输出的样式自己改
			echo $res;// 不能用 return
	}
## 公有的 静态的 New Obj 
	public static function newtime()//公有 +1
	{
		if(static::$abc instanceof static == false)
			{
				static::$abc =new static();
			}
			return static::$abc;
	}
}

xytime.php(1.47 KB)

有更好的建议吗?

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

3.

本来很简单的事情,你非要做得这么复杂

(/@Ta/2017-12-29 08:27//)

4.
用户被禁言,发言自动屏蔽。
(/@Ta/2017-12-29 10:22//
被禁言
)

5. 杀鸡焉用牛刀
(/@Ta/2017-12-29 11:12//)

6. @,有更好的方案吗?

我这是为了实现动态取值,就是逻辑分支的任何位置
die;

之后,不需要手动echo。

当然第一个版本其实已经足够了,做成类的好处就是方便使用。
(/@Ta/2017-12-29 11:17//)

7. 类的思想不就是:为全世界服务!
(/@Ta/2017-12-29 11:19//)

8. 效果:
7b0e6d5004f1be6081d6f423df74234811736.png
代码:
xytime.php(1.74 KB)
(/@Ta/2017-12-29 18:51//)

回复需要登录

7月21日 19:33 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1