Cela me ressemble, mais je ne suis pas sûr,
car il existe de nombreux projets qui utilisent dirname(__FILE__)
.
Leur résultat est exactement le même ; donc, pas de différence là-dessus.
Par exemple, les deux lignes suivantes:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Les deux donneront le même résultat:
string '/home/squale/developpement/tests/temp' (length=37)
Mais, il y a au moins deux différences:
__DIR__
existe uniquement avec PHP> = 5.3
dirname(__FILE__)
est plus largement utilisé__DIR__
est évalué au moment de la compilation, tandis que dirname(__FILE__)
signifie un appel de fonction et est évalué au moment de l'exécution
__DIR__
est (ou devrait être) plus rapide.
Comme référence, consultez la section Constantes magiques du manuel (citant) :
__DIR__
: Le répertoire du fichier.
S'il est utilisé dans un include, le répertoire du fichier inclus est renvoyé.
C'est équivalent àdirname(__FILE__)
.
Ce nom de répertoire n'a pas de barre oblique à la fin, sauf s'il s'agit du répertoire racine.
(Ajouté en PHP 5.3.0.)
__DIR__
c'est plus rapide.