| 
可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不需要使用 $ 符号。 常量的值必须是一个定值,不能是变量,类,数学运算的结果或函数调用。 接口(interface)中也可以定义常量。更多示例见文档中的接口部分。 自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字(如 self,parent 或 static)。 Example #1 定义和使用一个类常量 <?php
class MyClass
{
  const constant = 'constant value';
  function showConstant() {
    echo self::constant . "
";
  }
}
echo MyClass::constant . "
";
$classname = "MyClass";
echo $classname::constant . "
"; // 自 5.3.0 起
$class = new MyClass();
$class->showConstant();
echo $class::constant."
"; // 自 PHP 5.3.0 起
?>Example #2 静态数据示例 <?php
class foo {
  // 自 PHP 5.3.0 起
  const bar = <<<'EOT'
bar
EOT;
}
?>和 heredoc 不同,nowdoc 可以用在任何静态数据中。 Note: Nowdoc 支持是在 PHP 5.3.0 的。 注意:不像其他的,在php中,类不能对某个属性变量使用final修饰符。 如果要声明某个属性为常量,可以使用,并且无需使用美元符号作为前缀,也无需使用访问权限修饰符。常量意味着虽然可以访问该变量,但不能修改该变量的值。例如下边的代码声明了常量属性con_var: <?php
class Foo{
 const con_var="常量属性的值不能被修改<br />";
 public function method_a(){
 echo (self::con_var);
 }
}
echo(Foo::con_var);
$myFoo=new Foo();
echo ($myFoo->method_a());
?>常量属性不能使用对象访问,仅能使用类访问,在类本体内,可以使用“self::常量名”,在类本体外可以使用“类名::常量名”。  |