Developer

【PHP応用】 クラス定数
2021.04.13
Lv2

【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();

PHPWEBプログラミング講座 連載目次リンク

PHPWEBプログラミング講座 連載目次