Maison >développement back-end >tutoriel php >PHP代码调试和测试
>php没有多线程、同步等复杂的概念,大多由函数和类组成,数据类型和语法比较简单,利用其丰富的内置函数即可实现大部分功能测试,但是,有时也需要比较比较专业的调试方法及工具迅速捕捉到异常。(1)debug函数在实际应用中,除了应用echo、die、var_dump输出当前变量值外,还需要输出一些额外的信息,如当前代码所在的函数名称。先来看三个有关调试的函数:**func_num_args()** 这个函数返回的是当前函数的参数数量 返回的是数字**func_get_arg()**函数返回的是指定位置的参数的值**func_get_args()**这个函数返回的是包含当前函数所有参数的一个数组**PHP_EOL PHP中可以用PHP_EOL来替代换行,以提高代码的源代码级可移植性类似常用的还有DIRECTORY_SEPARATOR可以用函数get_defined_constants()来获取所有PHP常量```<?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函数``` 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;```##断点调试与变量跟踪工具XdebugwebGrind facebook开源的XHProf性能分析