file__ - obtener path php
¿Hay alguna diferencia entre__DIR__ y dirname(__ FILE__) en PHP? (1)
Se ve igual para mí, pero no estoy seguro,
porque hay muchos proyectos que usan 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- por eso
dirname(__FILE__)es más ampliamente utilizado
- por eso
-
__DIR__se evalúa en tiempo de compilación, mientras quedirname(__FILE__)significa una llamada de función y se evalúa en tiempo de ejecución- entonces,
__DIR__es (o debería ser) más rápido.
- entonces,
Como referencia, vea la sección 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 inclinada a menos que sea el directorio raíz.
(Agregado en PHP 5.3.0)