見た目は同じですが、よくわかりません。
を使用する多くのプロジェクトがあるためdirname(__FILE__)です。
見た目は同じですが、よくわかりません。
を使用する多くのプロジェクトがあるためdirname(__FILE__)です。
回答:
結果はまったく同じです。そのため、違いはありません。
たとえば、次の2行です。
var_dump(dirname(__FILE__));
var_dump(__DIR__);
両方とも同じ出力を提供します:
string '/home/squale/developpement/tests/temp' (length=37)
ただし、少なくとも2つの違いがあります。
__DIR__PHP> = 5.3でのみ存在します
dirname(__FILE__)より広く使用されている理由です__DIR__ コンパイル時に評価されますが、 dirname(__FILE__)、関数呼び出し意味し、実行時に評価されます
__DIR__です(または、あるべき)より速いです。
参考として、マニュアル(引用)の「マジック定数」セクションを参照してください。
__DIR__:ファイルのディレクトリ。
インクルード内で使用すると、インクルードされたファイルのディレクトリが返されます。
これはと同等dirname(__FILE__)です。
このディレクトリ名は、ルートディレクトリでない限り、末尾にスラッシュがありません。
(PHP 5.3.0で追加されました。)
__DIR__高速です。