クラス内で変更されない値を定数として定義できます。定数を定義および使用するときに $ 記号を使用する必要はありません。
定数の値は固定値である必要があり、変数、クラス属性、数学的演算や関数呼び出しの結果にすることはできません。
定数はインターフェースでも定義できます。
PHP 5.3.0 以降、変数を使用してクラスを動的に呼び出すことができます。ただし、変数値をキーワード (self、parent、static など) にすることはできません。
例 #1 クラス定数を定義して使用する
class MyClass { const constant = 1; function showConstant(){ echo self::constant.'<br>'; } } echo MyClass::constant.'<br>'; $className = "MyClass"; echo $className::constant.'<br>'; //自PHP5.3.0起 $class = new MyClass(); $class -> showConstant(); echo $class::constant.'<br>';
例 #2 静的データの例
class foo{ const bar = <<<'EOT' bar EOT; }
ヒアドキュメントとは異なり、nowdoc はあらゆる静的データで使用できます。