A mí me parece lo mismo, pero no estoy seguro
porque hay muchos proyectos que utiliza dirname(__FILE__)
.
Su resultado es exactamente el mismo ; entonces, no hay diferencia en eso.
Por ejemplo, las dos siguientes líneas:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Ambos darán el mismo resultado:
string '/home/squale/developpement/tests/temp' (length=37)
Pero hay al menos dos diferencias:
__DIR__
solo existe con PHP> = 5.3
dirname(__FILE__)
se usa más__DIR__
se evalúa en tiempo de compilación, mientras que dirname(__FILE__)
significa una llamada a función y se evalúa en tiempo de ejecución
__DIR__
es (o debería ser) más rápido.
Como, como referencia, consulte la sección de constantes mágicas del manual (citando) :
__DIR__
: El directorio del archivo.
Si se usa dentro de una inclusión, se devuelve el directorio del archivo incluido.
Esto es equivalente adirname(__FILE__)
.
Este nombre de directorio no tiene una barra al final a menos que sea el directorio raíz.
(Agregado en PHP 5.3.0.)
__DIR__
es más rápido.