Sembra lo stesso per me, ma non sono sicuro
perché ci sono molti progetti che utilizza dirname(__FILE__).
Sembra lo stesso per me, ma non sono sicuro
perché ci sono molti progetti che utilizza dirname(__FILE__).
Risposte:
Il loro risultato è esattamente lo stesso ; quindi, nessuna differenza su questo.
Ad esempio, le due righe seguenti:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Entrambi daranno lo stesso output:
string '/home/squale/developpement/tests/temp' (length=37)
Ma ci sono almeno due differenze:
__DIR__esiste solo con PHP> = 5.3
dirname(__FILE__)è più ampiamente utilizzato__DIR__ viene valutato in fase di compilazione, mentre dirname(__FILE__) indica una chiamata di funzione e viene valutato in fase di esecuzione
__DIR__è (o dovrebbe essere) più veloce.
Come riferimento, vedere la sezione delle costanti magiche del manuale (citando) :
__DIR__: La directory del file.
Se utilizzato all'interno di un include, viene restituita la directory del file incluso.
Questo è equivalente adirname(__FILE__).
Questo nome di directory non ha una barra finale a meno che non sia la directory principale.
(Aggiunto in PHP 5.3.0.)
__DIR__è più veloce.