Parece o mesmo para mim, mas não tenho certeza,
porque existem muitos projetos que usa dirname(__FILE__)
.
O resultado deles é exatamente o mesmo ; então, nenhuma diferença nisso.
Por exemplo, as duas linhas a seguir:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Ambos fornecerão o mesmo resultado:
string '/home/squale/developpement/tests/temp' (length=37)
Mas, existem pelo menos duas diferenças:
__DIR__
só existe com PHP> = 5.3
dirname(__FILE__)
é mais amplamente usado__DIR__
é avaliado em tempo de compilação, enquanto dirname(__FILE__)
significa uma chamada de função e é avaliado em tempo de execução
__DIR__
é (ou deveria ser) mais rápido.
Como referência, consulte a seção Constantes mágicas do manual (citando) :
__DIR__
: O diretório do arquivo.
Se usado dentro de um include, o diretório do arquivo incluído é retornado.
Isso é equivalente adirname(__FILE__)
.
Este nome de diretório não possui uma barra final, a menos que seja o diretório raiz.
(Adicionado no PHP 5.3.0.)
__DIR__
é mais rápido.