常量语法

常量在脚本执行期间其值不能改变。常量大小写敏感,传统上常量标识符总是大写。常量一旦定义就不能被重新定义或取消定义,常量的值只能是标量。

可以用define()函数来定义常量,也可以使用const关键字在类定义之外定义常量。自定义常量不要以双下划线开头,可能会与魔术常量冲突。

define('FOO', 'something');
const FOO = 'something';

使用const关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。常量的范围是全局的,不用管作用区域,就可以在脚本的任何地方访问常量。

魔术常量

魔术常量值能变,但它其实不是常量。

PHP向它运行的任何脚本提供了大量的预定义常量,有8个魔术常量的值随着它们在代码中的位置改变而改变。

__LINE__  // 文件中的当前行号


__FILE__  // 文件的完整路径和文件名,绝对路径


__DIR__  // 文件所在的目录,除非根目录,否则不包括末尾斜杠,等价于dirname(__FILE__)


__FUNCTION__  // 函数名称,区分大小写


__CLASS__  // 类的名称,包括其被声明的作用区域


__TRAIT__  // Trait的名字,包括其被声明的作用区域


__METHOD__  // 类的方法名


__NAMESPACE__  // 当前命名空间的名称

这几个魔术常量也不知什么作用,就先放在这里吧。

(全文完)