自動的に定義される定数
PHPには実行されるスクリプトで使用可能な多くの 定義済みの定数があります。 しかし、これらの定数の多くは、種々の拡張モジュールにより作成され、 動的なロードやコンパイル時の組込みにより、これらの拡張モジュールが 使用可能である場合にのみ定義されます。
使われる場所によって値が変化する定数(マジカル定数)が 9 つあります。
例えば、__LINE__
はスクリプト上において
使われる行によって値が変化します。
これらの
"マジカル"定数は、実行時に解決される通常の定数とは異なり、コンパイル時に解決されます。
これらの特別な定数は大文字小文字を区別しません。
内容は以下のとおりです:
名前 | 説明 |
---|---|
__LINE__
|
ファイル上の現在の行番号。 |
__FILE__
|
ファイルのフルパスとファイル名 (シンボリックリンクを解決した後のもの)。
インクルードされるファイルの中で使用された場合、インクルードされるファイルの名前が返されます。 |
__DIR__
|
そのファイルの存在するディレクトリ。include の中で使用すると、
インクルードされるファイルの存在するディレクトリを返します。
つまり、これは |
__FUNCTION__
|
関数名。無名関数の場合は、{closure}
|
__CLASS__
|
クラス名。
クラス名には、そのクラスが宣言されている名前空間も含みます
(例 |
__TRAIT__
|
トレイト名
トレイト名には、宣言された名前空間も含みます
(例 |
__METHOD__
|
クラスのメソッド名。 |
__NAMESPACE__
|
現在の名前空間の名前。 |
ClassName::class
|
完全に修飾されたクラス名。 |