Benim için aynı görünüyor ama emin değilim
çünkü kullanan birçok proje var dirname(__FILE__).
Benim için aynı görünüyor ama emin değilim
çünkü kullanan birçok proje var dirname(__FILE__).
Yanıtlar:
Sonuçları tamamen aynıdır ; yani, bunda bir fark yok.
Örneğin, aşağıdaki iki satır:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
İkisi de aynı çıktıyı verecek:
string '/home/squale/developpement/tests/temp' (length=37)
Ancak en az iki fark vardır:
__DIR__sadece PHP> = 5.3 ile mevcuttur
dirname(__FILE__)daha yaygın olarak kullanılıyor__DIR__ derleme zamanında değerlendirilirken dirname(__FILE__) bir işlev çağrısı anlamına gelir ve yürütme zamanında değerlendirilir
__DIR__olduğu (ya da olmalıdır) daha hızlı.
Referans olarak, kılavuzun Sihirli sabitler bölümüne bakın (alıntı) :
__DIR__: Dosyanın dizini.
Bir içerme içinde kullanılırsa, dahil edilen dosyanın dizini döndürülür.
Bu eşdeğerdirdirname(__FILE__).
Bu dizin adının sonunda, kök dizin olmadığı sürece bölü çizgisi yoktur.
(PHP 5.3.0'da eklendi.)
__DIR__daha hızlı.