Для меня это выглядит так же, но я не уверен,
потому что есть много проектов, которые используют dirname(__FILE__)
.
Для меня это выглядит так же, но я не уверен,
потому что есть много проектов, которые используют dirname(__FILE__)
.
Ответы:
Их результат точно такой же ; так что никакой разницы по этому поводу.
Например, две следующие строки:
var_dump(dirname(__FILE__));
var_dump(__DIR__);
Оба будут давать одинаковый результат:
string '/home/squale/developpement/tests/temp' (length=37)
Но есть как минимум два отличия:
__DIR__
существует только с PHP> = 5.3
dirname(__FILE__)
более широко используется__DIR__
оценивается во время компиляции, а dirname(__FILE__)
означает вызов функции и оценивается во время выполнения
__DIR__
что (или должно быть) быстрее.
В качестве справки см. Раздел руководства « Магические константы » (цитата) :
__DIR__
: Каталог файла.
Если используется внутри включения, возвращается каталог включаемого файла.
Это эквивалентноdirname(__FILE__)
.
Это имя каталога не имеет косой черты, если это не корневой каталог.
(Добавлено в PHP 5.3.0.)
__DIR__
быстрее.