常量

常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变。传统上常量标识符总是大写的。

常量名和其它任何 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__ 当前命名空间的名称。

results matching ""

    No results matching ""