Itu terlihat sama untukku, tapi aku tidak yakin,
karena masih banyak project yang menggunakan dirname(__FILE__)
.
Hasilnya persis sama ; jadi, tidak ada perbedaan tentang itu.
Misalnya, dua baris berikut:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Akankah keduanya memberikan hasil yang sama:
string '/home/squale/developpement/tests/temp' (length=37)
Namun, setidaknya ada dua perbedaan:
__DIR__
hanya ada dengan PHP> = 5.3
dirname(__FILE__)
lebih banyak digunakan__DIR__
dievaluasi pada waktu kompilasi, sedangkan dirname(__FILE__)
berarti panggilan fungsi dan dievaluasi pada waktu eksekusi
__DIR__
adalah (atau, seharusnya) lebih cepat.
Sebagai referensi, lihat bagian Konstanta ajaib dari manual (mengutip) :
__DIR__
: Direktori file.
Jika digunakan di dalam include, direktori dari file yang disertakan dikembalikan.
Ini sama dengandirname(__FILE__)
.
Nama direktori ini tidak memiliki garis miring kecuali itu adalah direktori root.
(Ditambahkan dalam PHP 5.3.0.)
__DIR__
lebih cepat.