1

是否可以在所需文件中获取要求程序脚本(需要另一个文件)的魔术常量 __FILE__?

例如:

需求者.php

<?php

require 'pathtorequired/required.php';

必需的.php

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

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


关于@MarkusZeller 评论:

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

4

1 回答 1

1

文档

有九个魔法常数会根据它们的使用位置而变化。例如, __LINE__ 的值取决于它在脚本中使用的行。所有这些“神奇”的常量都在编译时解析,不像常规常量在运行时解析

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

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

也许有提供此功能的第三方扩展,但我从未听说过,因此您可能会被困在需要程序文件中设置常量,或者自己编写扩展。

于 2019-12-04T14:11:45.200 回答