当前位置 : 主页 > 网络编程 > PHP >

PHP代码调试debug方法封装

来源:互联网 收集:自由互联 发布时间:2021-06-30
其中的$dir=realpath(__DIR__);默认是函数所在目录,显示文件路径用的,具体根据项目结果修改 打印并且终止执行 debug($result); 1. [代码] [PHP]代码 /** * 调试参数中的变量并中断程序的执行,
其中的 $dir = realpath(__DIR__); 默认是函数所在目录,显示文件路径用的,具体根据项目结果修改

打印并且终止执行
debug($result);

1. [代码][PHP]代码    

/**
 * 调试参数中的变量并中断程序的执行,参数可以为任意多个,类型任意,如果参数中含有'debug'参数,刚显示所有的调用过程。
 *
 * <code>
 * debug($var1,$obj1,$array1[,]................);
 * debug($var1,'debug');
 * </code>
 */
function debug(){
	$args = func_get_args();
	header('Content-type: text/html; charset=utf-8');
	echo "\n<pre>---------------------------------debug 调试信息.---------------------------------\n";
	foreach($args as $value){
		if(is_null($value)){
			echo '[is_null]';
		}elseif(is_bool($value) || empty ($value)){
			var_dump($value);
		}else{
			print_r($value);
		}
		echo "\n";
	}
	$trace = debug_backtrace();
	$next = array_merge(
		array (
			'line' => '??',
			'file' => '[internal]',
			'class' => null,
			'function' => '[main]'
		),$trace[0]
	);

	$dir = realpath(__DIR__);
	if(strpos($next['file'], $dir) === 0){
		$next['file'] = str_replace($dir, "", $next['file']);
	}

	echo "\n---------------------------------debug 调试结束.---------------------------------\n\n文件位置:";
	echo $next['file'] . "\t第" . $next['line'] . "行.</pre>\n";
	if(in_array('debug', $args)){
		echo "\n<pre>";
		print_r($trace);
	}
	//运行时间
	exit;
}
网友评论