我有一个可由任何脚本调用的自动加载功能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
中定义a/class.php
并且我希望使用MyName\Class extends \MyName\Class
(在a/class.php
内)进行扩展,但我希望自动加载器看起来{{1在\MyName\Class
中询问b/class.php
时是否在a/class.php
中?}
答案 0 :(得分:0)
您是否尝试过debug_backtrace()?