echo ss_as_string($GLOBALS);
3. 控制 Log
信息的函数
调试 PHP 程序的另外一种重要的方法就是查看 Log 信息。如果能够方便地控制 Log 信息的级别以及
Log
信息的显示内容,将会给程序调试带来更多的便利。下面的几个函数可以方便地实现这个功能。
$ss_log_level = 0;
$ss_log_filename = /tmp/ss-log;
$ss_log_levels = array(
NONE =
> 0,
ERROR =
> 1,
INFO =
> 2,
DEBUG =
> 3);
function ss_log_set_level ($level = ERROR) {
global $ss_log_level;
$ss_log_level = $level;
}
function ss_log ($level, $message) {
global $ss_log_level, $ss-log-filename;
if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {
// 不显示 Log
信息
return false;
}
$fd = fopen($ss_log_filename, "a+");
fputs($fd, $level.
- [.ss_timestamp_pretty().]
- .$message."n");
fclose($fd);
return true;
}
function ss_log_reset () {
global $ss_log_filename;
@unlink($ss_log_filename);
}
在上面的函数中,有四个 Log 级别变量。运行 PHP 程序时,只有当 Log 的级别低于预设的级别值时,
Log
信息才可以被记录和显示出来。例如,在程序中加入如下的一条语句:
ss_log_set_level(INFO);
那么,运行 PHP 程序时,只有 ERROR 和 INFO 级别的 LOG 信息才能被记录和显示出来,DEBUG 级的信
息则被忽略了。除此之外,我们还可以设定显示的信息内容,其语句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以随时使用下面的语句清空 LOG
信息:
ss_log_reset();
4.
速度测试函数
为了优化代码,我们需要一种可以测试代码运行时间的方法,从而来选择最优的代码。下面的函数可以
测试运行代码所需的时间:
function ss_timing_start ($name = default) {
global $ss_timing_start_times;
$ss_timing_start_times[$name] = explode( , microtime());
}
function ss_timing_stop ($name = default) {