欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP代码调试方法封装

程序员文章站 2022-04-01 12:57:24
...
跳至 [1] [全屏预览]
/**
 * 调试参数中的变量并中断程序的执行,参数可以为任意多个,类型任意,如果参数中含有'debug'参数,刚显示所有的调用过程。
 *
 * 
 * debug($var1,$obj1,$array1[,]................);
 * debug($var1,'debug');
 * 
 */
function debug(){
	$args = func_get_args();
	header('Content-type: text/html; charset=utf-8');
	echo "\n
---------------------------------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'] . "行.
\n"; if(in_array('debug', $args)){ echo "\n
";
		print_r($trace);
	}
	//运行时间
	exit;
}