比较项 | 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+】 |