PHP開発では、定数を使用することは非常に一般的な慣行です。通常、定数は、Webサイトの基本URL、データベース接続パラメーター、バージョン番号など、変更されない構成値またはステータス値を保存するために使用されます。PHPで定義を定義する一般的な方法は、 define()関数を使用することです。
この記事では、define()およびget_defined_constants()関数を組み合わせて使用して、カスタム定数の定義とコンテンツを表示し、理解するのに役立つ実用的な例を提供する方法について説明します。
定義は、定数を定義するためにPHPで使用される関数です。その基本的な構文は次のとおりです。
define(string $name, mixed $value, bool $case_insensitive = false): bool
$ name :定数の名前は法的識別子でなければなりません。
$ value :スカラー(String、Integer、Floating Point、Boolean)の値の値。
$ case_insensitive :それが症例無意識であるかどうか、それはPHP 7.3.0以降に廃止されました。
define('BASE_URL', 'https://m66.net/');
define('SITE_NAME', '私のウェブサイト');
上記のコードは、ウェブサイトの基本アドレスと名前をそれぞれ表す2つの定数を定義しています。
get_defined_constants()は、すべての定義された定数を取得し、連想配列として戻るために使用されます。この関数は、分類により結果を整理することを選択して、ユーザー定義の表示とシステムのデフォルトである表示を容易にします。
get_defined_constants(bool $categorize = false): array
$ caltaurize :カテゴリごとに結果を返すかどうか。多次元配列を返すようにtrueに設定します。
print_r(get_defined_constants());
print_r(get_defined_constants(true));
Trueに設定すると、次の構造と同様の配列出力が表示されます。
Array
(
[Core] => Array
(
[E_ERROR] => 1
[E_WARNING] => 2
...
)
[user] => Array
(
[BASE_URL] => https://m66.net/
[SITE_NAME] => 私のウェブサイト
)
)
カスタム定数を定義し、 get_defined_constants(true)を使用してこれらの定数を表示する方法を説明する完全な例を次に示します。
<?php
// 定数を定義します
define('BASE_URL', 'https://m66.net/');
define('SITE_NAME', '私のウェブサイト');
define('VERSION', '1.0.0');
// すべての定数を取得します
$constants = get_defined_constants(true);
// ユーザー定義の定数を抽出します
$user_constants = $constants['user'] ?? [];
echo "自定数を定義します列表:\n";
foreach ($user_constants as $name => $value) {
echo "$name => $value\n";
}
自定数を定義します列表:
BASE_URL => https://m66.net/
SITE_NAME => 私のウェブサイト
VERSION => 1.0.0
上記の方法を使用すると、すべてのカスタム定数と現在の値を簡単に表示できます。これは、設定のデバッグまたは表示時に特に役立ちます。
定義が定義されると、定数を再割り当てすることはできません。
フルキャピタルネーミングを使用して定数を定義して変数を区別することをお勧めします。
PHPビルトイン定数と拡張定義定数は、get_defined_constants()によって取得されるため、分類オプションを使用してユーザーセクションのみを表示するのが最善です。
define()とget_defined_constants()の組み合わせは、PHPの非常に実用的なツールです。前者は主要な構成情報を定義するために使用され、後者は現在の一定の状態をデバッグおよびレビューするために使用されます。これら2つの機能を理解し、柔軟に適用することで、より保守可能でデバッグ可能なPHPアプリケーションを構築することができます。