定数

PHPの「定数(constant)」とは、一度定義すると変更することができない値を指します。変数とは異なり、定数には「再代入」ができず、スクリプト全体を通じて同じ値を維持するため、設定値や変更されるべきでない情報を格納する際に利用されます。


1. 定数の特徴

  • 値を再代入できない(不変である)

  • ドル記号($)を使わない

  • グローバルスコープ(関数内でもアクセス可能)

  • 型を指定することも可能(PHP7以降、define()ではなくconstを使用)


2. 定数の定義方法

PHPで定数を定義する方法は主に2つあります。

define()関数を使う

php
define("SITE_NAME", "ExampleSite");
  • "SITE_NAME"が定数名、"ExampleSite"が値です。

  • 定数名は通常すべて大文字で記述します(ただし必須ではありません)。

  • グローバルスコープで定義されるため、関数の中でもアクセス可能です。

php
echo SITE_NAME; // 結果: ExampleSite

constキーワードを使う(PHP5.3以降)

php
const VERSION = "1.0.0";
  • クラスの中でも利用できます。

  • constクラス定数の定義にも使えます。


3. クラス内での定数

クラス内に定義された定数は「クラス定数」と呼ばれます。

php
class Config { const DB_HOST = "localhost"; } echo Config::DB_HOST; // 結果: localhost

4. 定数と変数の違い

項目 定数 変数
再代入 不可 可能
定義記法 define()またはconst $変数名 = 値;
スコープ グローバル(関数でも使用) 関数やブロックに依存
プレフィックス なし $を使用

5. 定数定義時の注意点

  • define()で定義する場合、定数名は文字列で指定する必要があります。

  • constはスクリプトのトップレベルでのみ使用可能(条件分岐の中などでは使用できません)。

  • 定数は定義された後に未定義のまま使用しようとするとエラーになります。


以上がPHPにおける定数の基本的な説明です。必要に応じて、環境設定値や変更されるべきでない値を定数として管理することで、コードの可読性と安全性を向上させることができます。

生成日:2025/05/03