在php中可以使用const在类中定义常量。常量的值将始终保持不变。const在定义和使用常量的时候不需要使用$符号。
常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。
PHP5.3.0之后,我们可以用一个变量来动态调用类。但该变量的值不能为关键字self, parent 或static。
Example #1 const 定义和使用一个类常量
<?php class MyClass { const constant = 'constant value'; function showConstant() { echo self::constant . "\n"; } } echo MyClass::constant . "\n"; $classname = "MyClass"; echo $classname::constant . "\n"; // PHP 5.3.0之后 $class = new MyClass(); $class->showConstant(); echo $class::constant."\n"; // PHP 5.3.0之后 ?>
Example #2 const 静态数据示例
<?php class foo { // PHP 5.3.0之后 const bar = <<<'EOT' bar EOT; } ?>
和heredocs(字符串边界符)不同,nowdocs可以用在任何静态数据中。
Note:
PHP 5.3.0起PHP支持Nowdoc功能。