Sembra uguale per me, ma non sono sicuro,C'è qualche differenza tra __DIR__ e dirname (__ FILE__) in PHP?
perché ci sono molti progetti che utilizza dirname(__FILE__)
.
Sembra uguale per me, ma non sono sicuro,C'è qualche differenza tra __DIR__ e dirname (__ FILE__) in PHP?
perché ci sono molti progetti che utilizza dirname(__FILE__)
.
Il loro risultato è esattamente lo stesso; quindi, nessuna differenza su questo.
Ad esempio, le due righe seguenti:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Entrambe dare la stessa uscita:
string '/home/squale/developpement/tests/temp' (length=37)
Ma, ci sono almeno due differenze:
__DIR__
esiste solo con PHP> = 5,3
dirname(__FILE__)
è più diffuso__DIR__
viene valutata al momento della compilazione, mentre dirname(__FILE__)
intende una funzione -call e viene valutata al momento dell'esecuzione
__DIR__
è (o, dovrebbe essere) più veloce.
quanto, come riferimento, vedere la sezione del manuale Magic constants(citando):
__DIR__
: La directory del file.
Se utilizzato all'interno di un inclusivo, la directory del file incluso è restituita.
Questo è equivalente adirname(__FILE__)
.
Questo nome di directory non ha una barra finale a meno che non sia la directory root .
(aggiunto in PHP 5.3.0)
Quando è disponibile __FILE__? – user198729
Non è sicuro, ma è già lì da un po 'di tempo * (la pagina delle costanti di Magic del manuale dice che il suo bahavior è stato modificato in PHP 4.0.2, quindi direi che è stato lì prima) * –
__DIR__ e dirname (__ FILE__) spoglia sempre l'ultima barra, corretta? – nbrogi