PHP の define を使って定数を定義する方法についてまとめています。
定数と変数の違い
定義すると、そのままで変化しない値のことを「定数」といいます。
対して、代入されたものによって変化するのが「変数」です。
定数は、プログラム内部で変更しないデータを利用するときに利用します。
参考
変数については、「変数の使い方」にまとめています。
define関数
PHP で定数を定義する場合、PHP 組込み関数 define を使用します。
define関数の構文
戻り値(TRUE/FALSE) = define(定数名, 値);
以下のように使用します。
|
1 2 3 4 5 6 7 8 |
<?php define("DB_NAME", "PHP is Server Side Programing Language.\n"); define("TABLE_NAME", "PHP can running on Apache."); echo DB_NAME; echo TABLE_NAME; ?> |
実行結果
PHP is Server Side Programing Language.
PHP can running on Apache.
定数名のルール
定数として定義した名前は、先頭に「$」を付ける必要はありません。
定数の命名ルールは特に決まっていませんが、一般的に以下のようなものがあります。
- 全て大文字で名前を付ける
- 区切り文字にアンダースコアを使う
また、PHP のプログラムでは、予め定義された定数があります。
同じ名前の定数は、再定義することはできません。
参考
予め定義されている定数は、「PHPの予約語一覧」の定数一覧にまとめています。
以下のようにすると、定義された定数の一覧を取得することができます。
|
1 2 3 4 5 6 |
<?php echo "<pre>"; print_r(get_defined_constants()); echo "</pre>"; ?> |
定数の特徴
PHP で定義された定数は、以下のような特徴があります。
- 定数は PHP プログラムのどこからでもアクセスできる
- 1度定義した定数は、再定義や値の代入ができない
- 定数が定義できる型は、文字列、整数、浮動小数点数、論理値のみ(配列は不可)
マジカル定数
PHP プログラムで定数を使用するときに、自動的に値が変化する「マジカル定数」と呼ばれる定数があります。
主に、デバッグ時などに使用します。
| __LINE__ | ファイル上の現在実行している行番号 |
| __FILE__ | ファイルのフルパスとファイル名 |
| __FUNCTION__ | 関数名 |
| __CLASS__ | クラス名 |
| __METHOD__ | クラスのメソッド名 |