PHPにおける定数の詳細解説
定数とは?
定数とは、一度定義すると変更できない値のことを指します。変数とは異なり、スクリプトの実行中に値を変更することはできません。
定数の定義方法
PHPでは、定数を定義する方法が主に2つあります。
define() を使用する
define()
関数を使用して定数を定義できます。
define("SITE_NAME", "MyWebsite");
echo SITE_NAME; // 出力: MyWebsite
const を使用する
const
を使う方法もあります。これは主にクラス内で使用されます。
const PI = 3.14;
echo PI; // 出力: 3.14
定数の使用方法
定数は定義後、直接使用できます。
define("GREETING", "Hello, World!");
echo GREETING; // 出力: Hello, World!
定数のスコープ
定数はグローバルスコープを持つため、関数の内部でも使用できます。
define("GLOBAL_CONST", "I am global");
function showConstant() {
echo GLOBAL_CONST;
}
showConstant(); // 出力: I am global
組み込み定数
PHPには事前に定義された定数が多数あります。
echo PHP_VERSION; // PHPのバージョンを表示
echo PHP_OS; // OSの情報を表示
マジック定数
PHPには特別なマジック定数があります。
echo __LINE__; // 現在の行番号
echo __FILE__; // 現在のファイルのパス
クラス定数
クラスの中でも定数を定義できます。
class MyClass {
const MY_CONST = "Class Constant";
}
echo MyClass::MY_CONST; // 出力: Class Constant
動的定数
define()
を使えば動的に定数を作成できます。
$name = "DYNAMIC_CONST";
define($name, "Dynamic Value");
echo DYNAMIC_CONST; // 出力: Dynamic Value
定数のベストプラクティス
- 定数名はすべて大文字で記述する(例:
MAX_USERS
) - 可能な限り
const
を使用する(define()
は動的定数向け) - クラス内の定数には
self::CONST_NAME
を使用 - グローバル定数の定義を最小限に抑える