PHPには実行されるスクリプトで使用可能な多くの 定義済みの定数があります。 しかし、これらの定数の多くは、種々の拡張モジュールにより作成され、 動的なロードやコンパイル時の組込みにより、これらの拡張モジュールが 使用可能である場合にのみ定義されます。
使われ方によって変化する自動的に定義される定数(マジカル定数)が 7 つあります。 例えば、__LINE__はスクリプト上において 呼び出された行番号です。特別定数は大文字小文字を区別しません。 内容は以下のとおりです:
名前 | 説明 |
---|---|
__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()も参照してください。