PHP 简明教程

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返回指定类的名称以及其所属的命名空间名称(如果存在)。