使われる場所によって値が変化する定数(マジック定数)が 9 つあります。
例えば、__LINE__
はスクリプト上において
使われる行によって値が変化します。
これらの
"マジック"定数は、実行時に解決される通常の定数とは異なり、コンパイル時に解決されます。
これらの特別な定数は大文字小文字を区別しません。
内容は以下のとおりです:
名前 | 説明 |
---|---|
__LINE__ |
ファイル上の現在の行番号。 |
__FILE__ |
ファイルのフルパスとファイル名 (シンボリックリンクを解決した後のもの)。 インクルードされるファイルの中で使用された場合、インクルードされるファイルの名前が返されます。 |
__DIR__ |
そのファイルの存在するディレクトリ。include の中で使用すると、
インクルードされるファイルの存在するディレクトリを返します。
つまり、これは dirname(__FILE__) と同じ意味です。
ルートディレクトリである場合を除き、ディレクトリ名の末尾にスラッシュはつきません。
|
__FUNCTION__ |
関数名。無名関数の場合は、{closure}
|
__CLASS__ |
クラス名。
クラス名には、そのクラスが宣言されている名前空間も含みます
(例 Foo\Bar )。
トレイトのメソッド内で __CLASS__ を使うと、
そのトレイトを use しているクラスの名前を返します。
|
__TRAIT__ |
トレイト名。
トレイト名には、宣言された名前空間も含みます
(例 Foo\Bar )。
|
__METHOD__ |
クラスのメソッド名。 |
__NAMESPACE__ |
現在の名前空間の名前。 |
ClassName::class |
完全に修飾されたクラス名。 |