このレッスンでは、PHP 定数について説明します。 PHP定数とは何ですか? PHPで定数を作成するにはどうすればよいですか? PHP 定数は何をするのでしょうか? PHP の定数作成ルールとは何ですか?続きを読んで調べてください。

定数は、データを保存するために使用される単純なデータホルダーです。定数は変数のようなものです。変数との唯一の違いは次のとおりです。変数に割り当てられたデータは、後で変更または削除できます (未定義または null にする)。ただし、定数に割り当てられたデータを後で変更したり削除したりすることはできません。

定数を作成するには、PHP の定義済みの define() 関数または const キーワードを使用します。

以下の例では、define() 関数と const キーワードを使用して定数を定義します。

define( 'CAR_NAME', 'MERCEDES' );
// define() fonksiyonuyla CAR_NAME adında bir sabit tanımladık ve MERCEDES değerini verdik.
echo CAR_NAME;
// Çıktı: MERCEDES
const COMPANY_NAME = 'Onur Özden Web Çözümleri';
// const anahtar kelimesiyle COMPANY_NAME adında bir sabit tanımladık ve Onur Özden Web Çözümleri değerini verdik.
echo COMPANY_NAME;
// Çıktı: Onur Özden Web Çözümleri

PHP 定数作成ルール

  • 定数名は文字または _ (アンダースコア) でのみ始めることができます。
  • (A-Z a-z 0-9) および _ (アンダースコア) を定数名に使用できます。
  • 特殊文字を定数名に使用することはできません。
  • 定数名を定義する場合、PHPで使用される予約語(if、break、default、newなど)は使用できません。
  • 定数に割り当てられた値は、後から変更、削除、または未定義にすることはできません。

PHP 定数作成の推奨事項とヒント

  • グローバル コードを定数名で記述したり、読みやすさを考慮してトルコ文字を使用したりすることはお勧めできません。
  • グローバル領域で作成した定数をローカル領域のconst式で呼び出すことができます。ただし、ローカルエリアで作成した定数をグローバルエリアで呼び出すことはできません。このルールは、define 関数を使用して作成する定数には適用されません。定義関数を使用して作成した定数を、任意のフィールドから任意のフィールドに呼び出すことができます。
  • これはdefine()関数で作成され、デフォルトでは大文字と小文字が区別されます。必要に応じて、関数の 3 番目の引数として false を割り当てることにより、define() 関数で作成された定数の大文字と小文字を区別することができます。 const キーワードを使用して作成された定数は、大文字と小文字が区別されません。
  • PHP は現在、大文字と小文字を区別する定数と大文字と小文字を区別しない定数の両方をサポートしています。大文字と小文字を区別しない定数は実用的ではなく、機能にさまざまな矛盾が生じやすく、実装が過度に複雑になります。このため、定数の大文字と小文字を区別しないようにすることは決して推奨されません。

PHP 定数の例

以下の例では、数値データ型の定数に値を与えることと、その定数に別の定数の値を与えることについて説明します。

define('SOFTWARE_VERSION', 2.4);
// define() fonksiyonuyla SOFTWARE_VERSION adında bir sabit tanımladık ve 2.4 değerini verdik.
echo SOFTWARE_VERSION;
// Çıktı: 2.4
const VERSION = SOFTWARE_VERSION;
// const anahtar kelimesiyle VERSION adında bir sabit tanımladık ve SOFTWARE_VERSION sabitinin değerini verdik.
echo VERSION;
// Çıktı: 2.4

以下の例では、配列型データを定数に代入します。

define('SOFTWARE_VERSION', 2.4);
// define() fonksiyonuyla SOFTWARE_VERSION adında bir sabit tanımladık ve 2.4 değerini verdik.
echo SOFTWARE_VERSION;
// Çıktı: 2.4
const VERSION = SOFTWARE_VERSION;
// const anahtar kelimesiyle VERSION adında bir sabit tanımladık ve SOFTWARE_VERSION sabitinin değerini verdik.
echo VERSION;
// Çıktı: 2.4

以下の例では、グローバル領域で作成した定数をローカル領域でconstキーワードで呼び出します。

const GLOBAL_CONSTANT = 'CONSTANT VALUE';
// Global alanda const anahtar kelimesiyle GLOBAL_CONSTANT adlı bir sabit oluşuturduk ve sabite CONSTANT VALUE değerini verdik.
function simple_function(): string
{
    return GLOBAL_CONSTANT;
}

// simple_function adlı bir fonksiyon oluşuturduk ve sabiti döndürdük (return).
echo simple_function();
// Döndürdüğümüz sabiti yazdırdık
// Çıktı: CONSTANT VALUE

以下の例では、ローカルエリアで作成した定数をconstキーワードでグローバルエリアで呼び出します。注: この例ではエラー出力が返されます。なぜなら、この使い方は間違っているからです。

// Local alanda const anahtar kelimesiyle GLOBAL_CONSTANT adlı bir sabit oluşuturduk ve sabite CONSTANT VALUE değerini verdik.
function simple_function(): string {
	const GLOBAL_CONSTANT = 'CONSTANT VALUE';
	return GLOBAL_CONSTANT;
}
// simple_function adlı bir fonksiyon oluşuturduk ve sabiti döndürdük (return).
echo simple_function();
// Döndürdüğümüz sabiti yazdırdık
// Çıktı: Parse error: syntax error, unexpected 'const'  (T_CONST)
// Bu hata çıktısını almamızın nedeni local alanda const anahtar kelimesiyle sabit oluşturamamızdır. Const anahtar kelimesiyle bir sabiti sadece top-level veya global dediğimiz tüm scriptte geçerli olan alanlarda oluşturabiliriz.