可能重复:
php:确定从哪里调用函数
我有一个my_function($class)可以被任何脚本调用的自动加载函数。它由 PHP 调用,spl_autoload_call()并且可以在任何地方发生。我如何编写脚本my_function($class)来检测它何时被特定的调用$file?
就像是:
$file = '/htdocs/project/whatever.php';
if ($caller_file == $file) {
...
我如何找到$caller_file?我确实理解这个问题令人困惑,但我现在不能用更好的词来表达。因此,如果您有任何理解问题,请在评论中告诉我。
编辑(上下文)如果自动加载器将加载的文件与调用自动加载器的文件相同,我想让脚本加载不同的类的文件。
例如给:
namespace Something;
class Random extends Random {}
不应该加载自己,而是我们有一个不同的文件:
namespace Something;
class Random { ... }
换句话说:
如果我定义MyName\Classina/class.php并且我想用MyName\Class extends \MyName\Class(inside a/class.php) 扩展自身但我希望自动加载器\MyName\Class在b/class.php被问到时查看 insidea/class.php怎么办?