php查看当时调用函数

在PHP中,有时我们需要查看当前脚本中执行了哪些函数,以及这些函数是在哪些地方被调用的。这个时候,我们就可以使用一些内置的函数来实现。

一、debug_backtrace

PHP中提供了一个debug_backtrace函数可以用来获取当前脚本的执行情况,从而查看当前脚本中执行了哪些函数,以及这些函数是在哪些地方被调用的。使用这个函数时可以通过传递参数来控制获取的执行情况的详细程度。

例如:

```

function foo() {

bar();

}

function bar() {

debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);

}

foo();

```

上面这段代码中,我们在函数foo中调用了函数bar。函数bar中使用了debug_print_backtrace函数来输出当前脚本的执行情况。在这个例子中,我们通过设置参数DEBUG_BACKTRACE_IGNORE_ARGS来忽略参数信息,这样输出的信息更加简洁。

运行上面的代码,我们可以得到如下输出:

```

#0 bar() called at [/path/to/file.php:7]

#1 foo() called at [/path/to/file.php:11]

```

从上面的输出中可以看出,函数bar是在文件的第7行被调用的,而函数foo则是在文件的第11行被调用的。这样,我们就可以知道在当前脚本中哪些函数是被调用了的,以及这些函数是被哪些函数调用的了。

二、get_included_files

除了debug_backtrace函数之外,PHP还提供了一个get_included_files函数,可以用来获取当前脚本中导入了哪些文件。使用这个函数可以帮助我们更好地了解当前脚本的执行情况。

例如:

```

require_once('foo.php');

include_once('bar.php');

$files = get_included_files();

foreach ($files as $file) {

echo $file . "\n";

}

```

上面这段代码中,我们先分别使用require_once和include_once函数导入了两个文件foo.php和bar.php。然后,我们使用get_included_files函数来获取当前脚本中导入的所有文件,并使用foreach循环来输出这些文件的路径。

运行上面的代码,我们可以得到如下输出:

```

/path/to/foo.php

/path/to/bar.php

/path/to/this/file.php

```

从上面的输出中可以看出,当前脚本中导入了两个文件foo.php和bar.php。这些文件的路径都被输出了出来。这样,我们就可以知道当前脚本中导入了哪些文件了。

总结

通过使用debug_backtrace和get_included_files函数,我们可以比较容易地查看当前脚本的执行情况,了解当前脚本中哪些函数是被调用了的,以及这些函数是被哪些函数调用的了。同时,我们还可以通过get_included_files函数来获取当前脚本中导入了哪些文件。这些函数都是PHP内置的,使用起来非常方便。如果您经常需要调试PHP程序,那么这些函数肯定会帮助到您。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(35) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部