PHP为所有运行的脚本提供大量的预定义常量。 然而,许多常量是由一些的扩展创建的,仅当这些扩展可用的时候才会被创建,不管是动态装入,还是被编译在PHP中。
有7个魔法常量根据运行的地点而变。例如,__LINE__的值取决于它出现在脚本中的哪一行。这些特殊常量大小写不敏感,如下:
| 名字 | 描述 |
|---|---|
| __LINE__ | 当前行在文件中的行号。 |
| __FILE__ | 文件的全路径和文件名。 如果使用于被包含的文件,那么就返回被包含的文件的名字。 自从PHP 4.0.2,__FILE__总是包含一个符号链接被解析后的绝对路径,,而在老版本中某些情况下会包含一个相对路径。 |
| __DIR__ | 文件所在的目录名字。 如果使用于被包含的文件,那么就返回被包含的文件的目录名字。 它等于dirname(__FILE__)。 这个目录名的末尾不包含反斜杠,除非它是根目录。(加入于PHP 5.3.0) |
| __FUNCTION__ | 函数名。(加入于PHP 4.3.0) 在PHP 5中这个常量返回函数声明时的名字(大小写敏感)。 而在PHP 4中这个值总是小写的。 |
| __CLASS__ | 类名。(加入于PHP 4.3.0) 在PHP 5中这个常量返回类声明时的名字(大小写敏感)。 而在PHP 4中这个值总是小写的。 |
| __METHOD__ | 类的方法名。(加入于PHP 5.0.0) 这个方法名返回它声明时的名字(大小写敏感)。 |
| __NAMESPACE__ | 当前名称空间的名字(大小写敏感)。 这个常量定义于编译期间(加入于PHP 5.3.0)。 |
参见get_class()函数,get_object_vars()函数,file_exists()函数以及function_exists()函数。