無料CGI、PHPサイト(確認画面付きメールフォーム・メーリングリスト・メルマガ設置、逆アクセスランキング、画像カウンター等)PHPマニュアル by k-sky

自動的に定義される定数

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

使われ方によって変化する自動的に定義される定数(マジカル定数)が 7 つあります。 例えば、__LINE__はスクリプト上において 呼び出された行番号です。特別定数は大文字小文字を区別しません。 内容は以下のとおりです:

PHP の "マジック" 定数
名前 説明
__LINE__ ファイル上の現在の行番号。
__FILE__ ファイルのフルパスとファイル名。インクルードされるファイルの 中で使用された場合、インクルードされるファイルの名前が返されます。 PHP 4.0.2 以降では __FILE__ は常に絶対パスで、シンボリックリンクは解決されます。 それより前のバージョンでは、場合によっては相対パスが返されることもあります。
__DIR__ そのファイルの存在するディレクトリ。include の中で使用すると、 インクルードされるファイルの存在するディレクトリを返します。 つまり、これは dirname(__FILE__) と同じ意味です。 ルートディレクトリである場合を除き、ディレクトリ名の末尾にスラッシュはつきません (PHP 5.3.0 で追加されました)。
__FUNCTION__ 関数名(PHP4.3.0で追加されました)。 PHP 5以降、この定数は宣言時の関数名(ケース依存)を返します。 PHP 4では、この値は常に小文字で返されました。
__CLASS__ クラス名(PHP4.3.0で追加されました)。 PHP 5以降、この定数は宣言時のクラス名(ケース依存)を返します。 PHP 4では、この値は常に小文字で返されました。
__METHOD__ クラスのメソッド名(PHP5.0.0で追加されました)。 メソッド名は宣言時と同じ(ケース依存)を返します。
__NAMESPACE__ 現在の名前空間の名前 (大文字小文字を区別します)。 この定数はコンパイル時に定義されます (PHP 5.3.0 で追加されました)。

get_class(), get_object_vars(), file_exists(), function_exists()も参照してください。