可能重复:
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\Class
ina/class.php
并且我想用MyName\Class extends \MyName\Class
(inside a/class.php
) 扩展自身但我希望自动加载器\MyName\Class
在b/class.php
被问到时查看 insidea/class.php
怎么办?