PHP - 是否可以在所需脚本中获取 requirer 脚本的魔术常数__FILE__?



是否可以在所需文件中获取requirer脚本(需要另一个文件(的魔术常数__FILE__?

例如:

需要.php

<?php
require 'pathtorequired/required.php';

必需的.php

<?php
echo __REQUIRER_FILE__; // => fullpathtorequirerfile/requirer.php

注意:它们不在同一文件夹中,问题是关于该功能在不创建 requirer 文件中常量的可能性。


关于@MarkusZeller评论:

这个建议很好,但是在requirer文件中有一个绝对路径常量或使用相对路径之间进行选择,我更喜欢第一个选项。

从文档中:

有九个神奇的常数会根据它们的使用地点而变化。例如,__LINE__的值取决于脚本中使用的行。所有这些"神奇"常量都在编译时解析,这与在运行时解析的常规常量不同

因此,就真正"神奇"的常数而言,答案是否定的。

AFAIK,在任何默认扩展中也没有常量(请参阅 https://www.php.net/manual/en/extensions.membership.php#extensions.membership.core(

也许有一个第三方扩展提供这个,但我从未听说过,所以你可能会坚持在 requirer 文件中设置常量,或者自己编写一个扩展。

最新更新