U mnie wygląda tak samo, ale nie jestem pewien
ponieważ istnieje wiele projektów, które używają dirname(__FILE__).
U mnie wygląda tak samo, ale nie jestem pewien
ponieważ istnieje wiele projektów, które używają dirname(__FILE__).
Odpowiedzi:
Ich wynik jest dokładnie taki sam ; więc nie ma różnicy.
Na przykład dwa następujące wiersze:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Oba dadzą ten sam wynik:
string '/home/squale/developpement/tests/temp' (length=37)
Ale są co najmniej dwie różnice:
__DIR__istnieje tylko z PHP> = 5.3
dirname(__FILE__)jest szerzej stosowany__DIR__ jest oceniany w czasie kompilacji, podczas gdy dirname(__FILE__) oznacza wywołanie funkcji i jest oceniany w czasie wykonywania
__DIR__jest (lub powinno być) szybsze.
Jako odniesienie, zobacz sekcję Magiczne stałe w podręczniku (cytowanie) :
__DIR__: Katalog pliku.
W przypadku użycia wewnątrz dołączenia zwracany jest katalog dołączonego pliku.
Jest to równoważne zdirname(__FILE__).
Ta nazwa katalogu nie ma końcowego ukośnika, chyba że jest to katalog główny.
(Dodano w PHP 5.3.0.)
__DIR__jest szybszy.