PHPの定義済み定数1
PHPの定義済み定数
PHPには多くの定義済み定数が用意されています。定義済み定数とはPHPによってあらかじめ定義されている定数の事です。define()関数で宣言しなくても使えます。たくさんの定義済み定数がありますが、設定や拡張モジュールによっては使えないものも多くあります。その辺は各自の環境によって違ってきますので、定義済み定数の一覧を取得する関数get_defined_constants()関数などを使用して調べて下さい。
さらに、特別定数としてマジカル定数と呼ばれるものがあります。マジカル定数は厳密には定数ではないそうです。使われ方によって値が変化するからでしょうか。
マジカル定数
| 定数名 | 説明 |
|---|---|
__LINE__ |
ファイル上の現在の行番号 |
__FILE__ |
ファイルのフルパスとファイル名 |
__FUNCTION__ |
関数名(PHP4.3.0で追加) |
__CLASS__ |
クラス名(PHP4.3.0で追加) |
__METHOD__ |
クラスのメソッド名(PHP5.0.0で追加) |
マジカル定数とはPHPですでに定義されている定数のうち使われ方によって変化する定数をいいます。この定数は、大文字・小文字を区別しません。
ちなみに、定数名の左右にあるアンダーバー「_」は2つ繋がってます。「アンダーバー×2 名前 アンダーバー×2」です。これの空白は見やすくするために入れてるだけですので実際書く時は入れないで下さい。
定義済み定数
| 定数名 | 説明 | 型 |
|---|---|---|
PHP_VERSION |
phpのバージョン | string |
PHP_OS |
phpが稼働しているOS | string |
DEFAULT_INCLUDE_PATH |
string |
|
PEAR_INSTALL_DIR |
string |
|
PEAR_EXTENSION_DIR |
string |
|
PHP_EXTENSION_DIR |
string |
|
PHP_BINDIR |
string |
|
PHP_LIBDIR |
string |
|
PHP_DATADIR |
string |
|
PHP_SYSCONFDIR |
string |
|
PHP_LOCALSTATEDIR |
string |
|
PHP_CONFIG_FILE_PATH |
string |
|
PHP_OUTPUT_HANDLER_START |
string |
|
PHP_OUTPUT_HANDLER_CONT |
integer |
|
PHP_OUTPUT_HANDLER_END |
integer |
|
TRUE |
真 大文字・小文字を区別しない | boolean |
FALSE |
偽 大文字・小文字を区別しない | boolean |
NULL |
ヌル値 大文字・小文字を区別しない | null |
ZEND_THREAD_SAFE |
使用できるかどうかはPHP・サーバの設定に依存 |
エラー定数
| ビット値 | 定数 | 説明 | 型 |
|---|---|---|---|
1 |
E_ERROR |
重大な実行時エラー。関数からリターンした後スクリプトの実行が中止されます。 このエラーは、メモリ確保に関する問題など回復不可能なエラーが発生したことを示します。このエラーはデフォルトで出力されます。 | integer |
2 |
E_WARNING |
実行時の警告。デフォルトで出力されますがスクリプトの実行の中断はしません。このエラーはコール前にスクリプトから取り除いておくべき問題があることを示します。 | integer |
4 |
E_PARSE |
文法ミス。PARSEエラーは、パーサにより生成されます。文法ミスなどのエラーです。 | integer |
8 |
E_NOTICE |
実行時の警告。スクリプト実行時に何かエラーが発生したが通常のスクリプト実行を継続できることを示します。例えば値が定義されていない変数を参照しようとした場合などです。 デフォルトの設定では表示されません。 | integer |
16 |
E_CORE_ERROR |
PHPのコアにより生成される点を除いてE_ERROR と同じです。関数はこのエラーを生成しません。 | integer |
32 |
E_CORE_WARNING |
PHPのコアにより生成される点を除いてE_WARNINGと同じです。関数はこのエラーを生成しません。 | integer |
64 |
E_COMPILE_ERROR |
E_ERRORに似ていますがこちらはZendスクリプトエンジンにより生成されたものです。関数はこのエラーを生成しません。 | integer |
128 |
E_COMPILE_WARNING |
E_WARNINGに似ていますがこちらはZendスクリプトエンジンにより生成されたものです。関数はこのタイプのエラーを生成しません。 | integer |
256 |
E_USER_ERROR |
E_ERRORに似ていますがこちらはtrigger_error関数を使用することによりphpコード内で生成されたものです。関数はこのエラーを生成しません。 | integer |
512 |
E_USER_WARNING |
E_WARNINGに似ていますがこちらはtrigger_error関数を使用することによりphpコード内で生成されたものです。関数はこのエラーを生成しません。 | integer |
1024 |
E_USER_NOTICE |
E_NOTICEに似ていますが、こちらはtrigger_error関数を使用することによりphpコード内で生成されたものです。関数はこのエラーを生成しません。 | integer |
2047 |
E_ALL |
上記の全てのエラーが含まれます。ALLを使うと全てのタイプのエラーが生成されます。下のE_STRICTは含まれないので注意。 | integer |
※エラー定数にはこの他に「E_STRICT」がありますが、これはPHP5から追加されたエラーレベルでコアの定義済み定数には含まれないようです。E_STRICTはE_ALLに含まれないので、E_ALLを使った場合でもE_STRICTは別に宣言する必要があります。すべてのエラー定数の一覧と詳細はエラー処理・ログ記録関数のに載せていますので参考にして下さい。





