__METHOD__クラスメソッド名(PHP5.0.0で新規追加)の違い。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
__FUNCTION__ 関数名 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
ドキュメントの説明では、すべて戻り関数 (メソッド) の名前について説明しています。違いは、
__FUNCTION__ はメソッドの名前を返すだけですが、
__METHOD__ はクラスの名前とメソッドの名前を返します。
出力結果は次のとおりです:
doit
Test::doitAgain
__LINE__ ファイル内の現在の行番号。
__FILE__ ファイルのフルパスとファイル名。インクルードされたファイル内で使用された場合、インクルードされたファイルの名前を返します。 PHP 4.0.2 以降、__FILE__ には常に絶対パス (シンボリック リンクの場合は解決された絶対パス) が含まれますが、それより前のバージョンには相対パスが含まれる場合がありました。
__DIR__ ファイルが配置されているディレクトリ。インクルードされたファイル内で使用された場合、インクルードされたファイルが配置されているディレクトリを返します。これは dirname(__FILE__) と同等です。ルート ディレクトリでない限り、ディレクトリ名には末尾のスラッシュは含まれません。 (PHP 5.3.0 の新機能) =
__FUNCTION__ 関数名 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたとおりの関数名を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
__CLASS__ クラスの名前 (PHP 4.3.0 の新機能)。 PHP 5 以降、この定数は定義されたときのクラスの名前を返します (大文字と小文字は区別されます)。 PHP 4 では、この値は常に小文字です。
__METHOD__ クラスのメソッド名 (PHP 5.0.0 で新しく追加されました)。定義されたとおりのメソッド名を返します (大文字と小文字が区別されます)。
__NAMESPACE__ 現在の名前空間の名前 (大文字と小文字が区別されます)。この定数はコンパイル時に定義されます。
マジック変数は、環境に応じて異なる値を持つ変数を指します。たとえば、
__FILE__
は、a.phpファイルに表示される場合、その値はa.phpの特定のパスです。 b に表示される .php ファイルは、b.php の特定のパスです
その他の魔法の変数には、__FUNCTION__、__CLASS__ があります
つまり、これらの変数の値は多くの場合固定されず、変化します。これは非常に魔法のようなもので、魔法のようなものなので、マジック変数と呼ばれます