常量
常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变。传统上常量标识符总是大写的。
常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。另外,PHP内部已经使用了一些关键字,这些关键字不能再用来声明常量。
常量的范围是全局的。也就是说,可以在脚本的任何地方访问常量。
常量的定义
使用define函数定义常量,还可以使用 const 关键字在类定义之外定义常量。一个常量一旦被定义,就不能再改变或者取消定义。如:
<?php
define("FOO", "常量");
const CONSTANT = 'Hello World';
echo FOO,FOO2;
?>
使用 const 关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。而define()函数则没有这些限制。
魔术常量
PHP 向它运行的任何脚本提供了大量的预定义常量(如PHP_VERSION、PHP_OS 等等)。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有八个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。
名称 | 说明 |
---|---|
__LINE__ | 文件中的当前行号。 |
__FILE__ | 文件的完整路径和文件名。 |
__DIR__ | 文件所在的目录。 |
__FUNCTION__ | 函数名称。 |
__CLASS__ | 类的名称。 |
__TRAIT__ | Trait 的名字。 |
__METHOD__ | 类的方法名。 |
__NAMESPACE__ | 当前命名空间的名称。 |