我想创建一个调试函数,该函数转储有关执行上下文的信息以及其他一些信息。
在debug.php中,我有一个函数可以转储作为参数传递的所有内容。我对从例如example.php调用转储函数的方法感兴趣,并希望它返回调用上下文的文件名,行号和函数名。
1. <?php
2. function my_function(){
3. $var = 'My example';
4. dump( $var );
5. }
6. ?>
Run Code Online (Sandbox Code Playgroud)
example.php
我希望上面的函数输出:“ example.php,my_function,4:我的示例”。
反正有这样做的(通过短__FILE__,__FUNCTION__和__LINE__)作为参数?
是的,您可以使用debug_backtrace()。
它以相反的顺序(最后一个最高祖先)返回所有调用者和文件的数组(也跟踪包含的文件)。因此,调用方将是数组中的第一个:
$caller_info = next(debug_backtrace());
Run Code Online (Sandbox Code Playgroud)