defined

関数の概要

PHPの defined 関数は、指定した定数がすでに定義されているかどうかを確認するときに使います。定数を使う際に、未定義の定数にアクセスしてエラーが起きるのを防ぐために役立ちます。

パラメータの説明

  • string $constant_name: 定義されているか確認したい定数の名前を文字列で指定します。名前にクォーテーションを必ず付けてください。

戻り値

defined は、指定した名前の定数が定義されている場合は true、定義されていない場合は false を返します。

使用例

基本的な使い方

if (defined('MY_CONSTANT')) {
    echo '定数は定義されています。';
} else {
    echo '定数は定義されていません。';
}

ここでは MY_CONSTANT という定数があるかどうかを調べ、存在すればメッセージを表示します。

定数の条件付き定義

if (!defined('MAX_ITEMS')) {
    define('MAX_ITEMS', 100);
}

定数 MAX_ITEMS が未定義ならば、100という値で定義します。既に定義されている場合は上書きされません。

複数の定数をチェックする例

$constants = ['SITE_NAME', 'ADMIN_EMAIL', 'API_KEY'];

foreach ($constants as $const) {
    if (defined($const)) {
        echo $const . ' は定義されています。' . "n";
    } else {
        echo $const . ' は定義されていません。' . "n";
    }
}

配列で複数の定数名を用意し、ひとつずつ定義があるかをチェックして結果を表示しています。

関連する関数

  • define(): 新しい定数を定義する関数
  • constant(): 定義された定数の値を取得する関数
  • get_defined_constants(): 定義済みのすべての定数を配列で取得する関数

まとめ

PHPの defined 関数は、指定した定数が既に定義されているかどうかを簡単に確認できる便利な関数です。実務では、定数の二重定義を防ぐためや存在チェックに頻繁に使われます。特に設定ファイルやプラグインなど複数ファイルで定数を扱う際に役立つため、使い方をしっかり理解しておきましょう。