2021.04.13
【PHP応用】 クラス定数
クラス定数は、クラスそのものに紐づくデータです。
1.クラス定数は「const」を使って定義する
2.スコープ定義演算子「::」を使い、「クラス名::クラス定数」の書式で呼び出す。
3.呼び出し方はstaticメンバと似ているが、クラス定数はstaticメンバと異なり値を変更できない。
定数とは
PHPにおける定数は「define」関数を使用して定義することができるが、
クラス定数と呼ばれるクラスに紐づく定数は、constキーワードを使って指定する。
クラス定数は通常大文字で指定する。
staticメンバ変数との違い
クラス全体で共通する属性を表す点で、
staticメンバ変数と使い方は同じである。
原則クラス定数を使い、値が変更されうる仕様がある場合のみ、
メンバ変数を使う。
クラス定数の定義構文
const 定数名 = 値 定数の呼び出し構文(クラス外): クラス名::定数名 定数の呼び出し構文(クラス内): self::定数名
コード例
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();