Y a-t-il une différence entre DIR et dirname(FILE) en PHP?
Il me semble la même chose, mais je ne suis pas sûr,
Parce qu'il existe de nombreux projets qui utilisent dirname(__FILE__)
.
104
demandé sur
user198729
2010-05-01 13:25:57
1 réponses
Leur résultat est exactement le même ; donc, aucune différence à ce sujet.
Par exemple, les deux lignes suivantes :
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Donnera tous les deux la même sortie:
string '/home/squale/developpement/tests/temp' (length=37)
Mais, il y a au moins deux différences :
-
__DIR__
existe uniquement avec les PHP >= 5.3- , qui est pourquoi
dirname(__FILE__)
est plus largement utilisé
- , qui est pourquoi
-
__DIR__
est évaluée au moment de la compilation, tandis quedirname(__FILE__)
signifie un appel de fonction et est évalué au moment de l'exécution- , de sorte,
__DIR__
est (ou devrait être) plus rapide.
- , de sorte,
Comme référence, voir le constantes magiques section du manuel (citant) :
__DIR__
: Le répertoire du fichier.
si utilisé à l'intérieur d'un include, le répertoire du fichier inclus est retourner.
ceci est équivalent àdirname(__FILE__)
.
Ce le nom du répertoire n'a pas barre oblique finale sauf si c'est la racine répertoire.
(ajouté en PHP 5.3.0.)
165
répondu
Pascal MARTIN
2014-08-30 15:17:42