PHP 魔术常量
1. PHP 魔术常量
PHP 拥有九个预定义常量,这些常量的值会根据它们被使用的具体位置而发生改变,因此它们被称为“魔术常量(Magic Constants)”。
魔术常量能够提供有关脚本当前运行状态的上下文信息,例如当前的文件名、目录名、行号、函数名、类名等。
除了 ClassName::class 常量之外,绝大多数魔术常量始终以双下划线(__)开头和结尾。
魔术常量是不区分大小写的,这意味着 __LINE__ 和 __line__ 将返回完全相同的值。
1.1 魔术常量列表与描述
下表详细列出了 PHP 中的所有魔术常量及其具体描述:
| 常量 | 描述 |
|---|---|
__CLASS__ | 如果在类(class)内部使用,将返回该类的名称。 |
__DIR__ | 返回当前文件所在的目录。 |
__FILE__ | 返回当前文件的完整路径和文件名。 |
__FUNCTION__ | 如果在函数内部使用,将返回该函数的名称。 |
__LINE__ | 返回文件中当前的行号。 |
__METHOD__ | 如果在属于某个类的函数(即方法)内部使用,将同时返回类名和方法名。 |
__NAMESPACE__ | 如果在命名空间内部使用,将返回该命名空间的名称。 |
__TRAIT__ | 如果在 trait(特征)内部使用,将返回该 trait 的名称。 |
ClassName::class | 返回指定类的名称以及其所属的命名空间名称(如果存在)。 |