繁体   English   中英

打印执行的PHP代码(采用的代码路径)

[英]Print the executed PHP code (Path of code taken)

我有一个包含大量嵌套include和函数的脚本,它们从很多if条件中相互调用。 基本上,这是一场编码梦night。

有什么办法可以“打印” PHP代码? 我的意思是,打印代码的实际流程和脚本从头到尾所采用的路径?

您可以尝试debug_backtrace()debug_print_backtrace()

另外,我建议使用Xdebug 它在异常上打印出非常有用的堆栈跟踪 (您可以配置它以打印出每个方法参数和每个局部变量( xdebug.collect_params=4xdebug.show_local_vars=on配置参数)。

PHP无法做到这一点。 您需要在PHP开发计算机上安装xDebug扩展 安装后,您可以使用代码覆盖功能来确定已执行了哪些行。

缺少这一点,我将创建一个简单的调试功能以包括在代码的顶部

public function myDebugString($string)
{
    file_put_contents('/tmp/debug.log',"$string\n",FILE_APPEND);
    return;
}

然后在整个代码中添加对此的调用

myDebugString('Called at ' . __LINE__);

然后尾部创建的日志文件。 完成后,删除调试语句对于您的编辑器来说是一个简单的查找/替换操作。

许多框架都具有调试对象,它们的功能远不止于构建它,但是,如果您要处理独立代码,那么像这样的简单对象就足够了。

看一下代码覆盖率工具。 这使您可以识别运行脚本时实际执行的那些功能和代码行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM