【问题标题】:PHP - It is possible to get the magic constant __FILE__ of the requirer script inside the required script?PHP - 可以在所需脚本中获取所需脚本的魔术常量 __FILE__ 吗?
【发布时间】:2019-12-04 12:39:49
【问题描述】:

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

例如:

requirer.php

<?php

require 'pathtorequired/required.php';

required.php

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

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


关于@MarkusZeller 评论:

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

【问题讨论】:

标签: php require magic-constants


【解决方案1】:

来自docs

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-08-21
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多