是否可以在所需文件中获取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 文件中设置常量,或者自己编写一个扩展。