在PHP中获取函数调用者的__FILE__常量

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了在PHP中获取函数调用者的__FILE__常量脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
知道 PHP中的__FILE__常数将变成当前执行文件的完整路径和文件名.但是有没有办法可以获得与函数调用文件相同的信息?例如:
//foo.PHP:
include "bar.PHP";
call_IT();

//bar.PHP
function call_it() {
    echo "Calling file: ".__CALLING_FILE__;
}

这将输出调用文件:… / foo.PHP.

我知道没有__CALLING_FILE__魔术常数,或一个魔术常数来处理这个,但是有没有办法可以得到这些信息?最小的黑客解决方案将是理想的(例如,使用堆栈跟踪将是相当黑客),但最终我只需要它工作.

应该看看堆栈跟踪做这些事情. PHP一个名为 debug_backtrace函数
include "bar.PHP";
call_it();

//bar.PHP
function call_it() {
   $BT =  debug_backtrace();

   echo "Calling file: ". $bt[0]['file'] . ' line  '. $bt[0]['line'];
}

希望它有帮助

同样的原则,你可以发现debug_print_backtrace有用,它做同样的事情,但PHP自己处理所有信息的形成和打印.

脚本宝典总结

以上是脚本宝典为你收集整理的在PHP中获取函数调用者的__FILE__常量全部内容,希望文章能够帮你解决在PHP中获取函数调用者的__FILE__常量所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。