PHPで定数を定義したい場合は、いろいろな方法がありますが、クラス内で定数を定義したい場合は、const定数修飾子を使って定義することが多いと思います。その操作方法をご紹介します。 。
PHP での定数の定義は、define() 関数を通じて行われますが、クラス内の定数の定義には、define() は使用できず、const 修飾子が必要です。 const を使用してクラス内の定数を定義した後、そのアクセス メソッドは静的メンバーと同様に、クラス名を使用するか、メンバー メソッドで self を使用してアクセスします。ただし、PHP 5.3.0 以降では、オブジェクトを使用してアクセスすることもできます。 const で定義された定数は再代入できず、プログラム中で値を変更しようとするとエラーが発生します。
コードは次のとおりです |
コードをコピー |
クラス MyClass {
const CONSTANT = 'CONSTANT value' // const を使用して定数を宣言し、初期値を直接割り当てます
関数showconstant(){function showconstant(){
with with echo with self ::CONSTANT 。 " " ;//定数にアクセスするには self を使用します。定数の前に「$」を追加しないように注意してください
}
echo MyClass:: CONSTANT . " " //クラス外の定数にアクセスするにはクラス名を使用し、「$」を追加しないでください。
$class = new MyClass();
$class->showConstant();
echo $class ::CONSTANT; // PHP 5.3.0 以降
?>
詳細への注意: const を使用して定義された定数名の前に「$」記号を使用する必要はありません。定数名は通常大文字です。
| const で定義された定数に値を代入しようとするとエラーになります。
コードは次のとおりです
コードをコピー
|
|
クラス MyClass {
const CONSTANT = '定数値' ;
関数 setCONSTANT(){
On Self :: constant = 'News constant' // プログラムの実行結果は間違っています。
}
}
echo MyClass::CONSTANT ;
?>
プログラムの実行結果が間違ってしまいます。
const 修飾定数と他の定数の使用の違いは、定数名の前に「$」を使用しないことです。覚えておいてください。もちろん、この定数値は一度定義すると、プログラム内のどこでも「人為的に」変更することはできません。これは、define を使用して定義するのと同じであり、const を使用して定義する場合も、もちろん他の定数の命名規則に従います
詳しい読み方:
定数の前にドル記号 ($) はありません。
定数は、代入ステートメントではなく、define() 関数を使用してのみ定義できます。
定数は、変数スコープのルールに関係なく、どこでも定義してアクセスできます。
定数を一度定義すると、再定義したり未定義にしたりすることはできません。
定数の値はスカラーのみです。
定数にはスカラー データ (ブール、整数、浮動小数点、文字列) のみを含めることができ、リソース定数は定義できません。
関数 constant() を使用して、定数の値を読み取ることができます。 get_define_constants() は、定義されているすべての定数のリストを取得できます。
未定義の定数が使用された場合、PHP は文字列 (CONSTANT は「CONSTANT」に対応) で呼び出すかのように、必要なのは定数自体の名前であると想定し、E_NOTICE レベルのエラーが発行されます。
PHP の「魔法の定数」。
名前
手順 |
|
__LINE__
ファイル内の現在の行番号。
|
|
__ファイル__
ファイルのフルパスとファイル名。インクルード ファイルで使用された場合は、インクルード ファイル名を返します。 PHP 4.0.2 以降、 __FILE__ | には常に絶対パスが含まれますが、それより前のバージョンには相対パスが含まれる場合がありました。
|
__機能__
関数名 (PHP 4.3.0 で新しく追加されました)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
|
|
__クラス__
クラスの名前 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
|
|
__方法__
クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
|
|
|
http://www.bkjia.com/PHPjc/632685.html
www.bkjia.com
本当http://www.bkjia.com/PHPjc/632685.html技術記事 phpで定数を定義したい場合は色々な方法がありますが、クラスで定数を定義したい場合はconst定数修飾子を使って定義することが多いです...。