PHP - 自動的に定義される定数

自動的に定義される定数

PHP には実行されるスクリプトで使用可能な多くの定義済みの定数があります。しかし、これらの定数の多くは、種々の拡張モジュールにより作成され、動的なロードやコンパイル時の組込みにより、これらの拡張モジュールが使用可能である場合にのみ定義されます。

使われる場所によって値が変化する定数が9つあります。これらの定数は、実行時に解決される通常の定数とは異なり、コンパイル時に解決されます。これらの特別な定数は大文字小文字を区別しません。内容は以下のとおりです。

__LINE__
ファイル上の現在の行番号。
__FILE__
ファイルのフルパスとファイル名 (シンボリックリンクを解決した後のもの)。インクルードされるファイルの中で使用された場合、インクルードされるファイルの名前が返されます。
__DIR__
そのファイルの存在するディレクトリ。include の中で使用すると、インクルードされるファイルの存在するディレクトリを返します。ルートディレクトリである場合を除き、ディレクトリ名の末尾にスラッシュはつきません。
__FUNCTION__
関数名。無名関数の場合は、{closure} が返されます。
__CLASS__
クラス名。クラス名には、そのクラスが宣言されている名前空間も含みます。トレイトのメソッド内で __CLASS__ を使うと、 そのトレイトを use しているクラスの名前を返します。
__TRAIT__
トレイト名。トレイト名には、宣言された名前空間も含みます。
__METHOD__
クラスのメソッド名。
__NAMESPACE__
現在の名前空間の名前。
ClassName::class
完全に修飾されたクラス名。

関連記事