PHP 常量

常量

自定义常量

比较项 define const
版本 php 4.0 + php 5.3.0 +
定义位置 任意 作用域的最顶端,不能在函数内、循环内以及 if 语句之内
是否支持表达式
是否支持大小写不敏感 是, 第三个参数为 true , 表示不敏感
常量数组支持的版本 php 7 + php 5.6 +

详细说明, 参考 PHP中const和define()定义常量的细节区别

预定义常量

是在 PHP 的内核中就定义好了的常量。区分大小写。这些变量包括了以下这些东西:从外部变量到内置的环境变量,从最新的错误信息到最新收到的 header

常用的预定义常量有:

名称 说明
PHP_VERSION 当前 php 的版本
PHP_OS 当前所使用的操作系统类型
PHP_SAPI web 服务器与 php 之间的接口
DEFAULT_INCLUDE_PATH php 默认的包含路径
PHP_BINDIR php 的执行路径
PHP_LIBDIR php 扩展模块的路径
PEAR_INSTALL_DIR pear 的安装路径
PEAR_EXTENSION_DIR pear 的扩展路径
E_ERROR 指向最近的错误处
E_WARNING 指向最近的警告处
E_NOTICE 指向最近的注意处
PHP_INT_MAX 最大的整型数
M_E 自然对数 e
M_PI 数学上的圆周率的值
TRUE 逻辑真值
FALSE 逻辑假值

魔术常量

名称 说明
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。 【PHP 5.3.0+】
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__LINE__ 文件中的当前行号。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的。 【PHP 5.3.0+】
__FUNCTION__ 函数名称。【PHP 4.3.0+】
__TRAIT__ Trait 的名字,包括其被声明的作用区域(例如 Foo\Bar
【PHP 5.4.0+】
__CLASS__ 类的名称。【PHP 4.3.0+】
__METHOD__ 类的方法名。返回该方法被定义时的名字(区分大小写)。
【PHP 5.0.0+】