php没有多线程、同步等复杂的概念,大多由函数和类组成,数据类型和语法比较简单,利用其丰富的内置函数便可实现大部分功能测试,可是,有时也须要比较比较专业的调试方法及工具迅速捕捉到异常。php
(1)debug函数 在实际应用中,除了应用echo、die、var_dump输出当前变量值外,还须要输出一些额外的信息,如当前代码所在的函数名称。linux
先来看三个有关调试的函数: func_num_args() 这个函数返回的是当前函数的参数数量 返回的是数字 **func_get_arg()**函数返回的是指定位置的参数的值 **func_get_args()**这个函数返回的是包含当前函数全部参数的一个数组 **PHP_EOL PHP中能够用PHP_EOL来替代换行,以提升代码的源代码级可移植性 相似经常使用的还有 DIRECTORY_SEPARATOR 能够用函数get_defined_constants()来获取全部PHP常量web
<?php echo PHP_EOL; //windows平台至关于 echo "\r\n"; //unix\linux平台至关于 echo "\n"; //mac平台至关于 echo "\r";
<?php //get_defined_constants()返回全部常量数组 print_r(get_defined_constants());
###debug函数windows
public function debug(){ $numargs = func_num_args(); // 参数个数 $arg_list = func_get_arg(); // 获取参数 for($i = 0; $i < $numargs; $i ++) { echo "第${$i}个变量的值为:",$arg_list[$i],PHP_EOL; } echo '当前所处的文件名为:'.__FILE__,PHP_EOL; }
###引用上边的调试函数数组
function mytest($a, $b){ $sum = $a + $b; debug($a, $b); return $sum; } $ret = mytest(10,5); echo $ret;
##断点调试与变量跟踪工具Xdebug多线程
webGrind facebook开源的XHProf性能分析函数