PHP アドバンス

PHP OOP - クラス定数

1. PHPのクラス定数

クラス定数(Class Constants)は、クラス内で変更されることのない固定データを定義したい場合に非常に便利です。

クラス定数は一度宣言されると、その値を後から変更(上書き)することはできません。

主な特徴は以下の通りです:

  • クラス内で const キーワードを使用して宣言します。
  • デフォルトの可視性(Visibility)は public です。
  • クラス定数は大文字と小文字を区別(Case-sensitive)します。ただし、慣習としてすべて大文字で命名することが強く推奨されます。

2. クラス定数へのアクセス方法

クラス定数にアクセスするには、主に以下の2つの方法があります。

2.1 クラス外部からのアクセス

クラスの外部から定数にアクセスするには、クラス名に続けてスコープ定義演算子(::)と定数名を記述します。

<?php
class Goodbye {
  const MESSAGE = "Volardev.comへお越しいただきありがとうございます!";
}

// クラス定数にアクセス
echo Goodbye::MESSAGE;
?>

2.2 クラス内部からのアクセス

クラスの内部(メソッド内など)から定数にアクセスするには、self キーワードに続けてスコープ定義演算子(::)と定数名を記述します。

<?php
class Goodbye {
  const MESSAGE = "Volardev.comへお越しいただきありがとうございます!";

  public function bye() {
    // クラス内部から self を使用してアクセス
    echo self::MESSAGE;
  }
}

$goodbye = new Goodbye();
$goodbye->bye();
?>