クラス定数は、クラスそのものに紐づくデータです。
1.クラス定数は「const」を使って定義する
2.スコープ定義演算子「::」を使い、「クラス名::クラス定数」の書式で呼び出す。
3.呼び出し方はstaticメンバと似ているが、クラス定数はstaticメンバと異なり値を変更できない。
定数とは
PHPにおける定数は「define」関数を使用して定義することができるが、
クラス定数と呼ばれるクラスに紐づく定数は、constキーワードを使って指定する。
クラス定数は通常大文字で指定する。
staticメンバ変数との違い
クラス全体で共通する属性を表す点で、
staticメンバ変数と使い方は同じである。
原則クラス定数を使い、値が変更されうる仕様がある場合のみ、
メンバ変数を使う。
クラス定数の定義構文
1 2 3 4 5 6 7 | const 定数名 = 値 定数の呼び出し構文(クラス外): クラス名::定数名 定数の呼び出し構文(クラス内): self::定数名 |
コード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class Sample1_6_1 { const CONST_VALUE = '定数' ; public function showConst(){ echo " showConst:" . self::CONST_VALUE; echo $this ->CONST_VALUE; } public static function showConst2(){ echo " showConst2:" . self::CONST_VALUE; } } $className = 'Sample1_6_1' ; echo $className ::CONST_VALUE; // PHP5.3以降で対応 echo Sample1_6_1::CONST_VALUE; echo Sample1_6_1::showConst2(); $s = new Sample1_6_1; $s ->showConst(); |