Для меня это выглядит так же, но я не уверен,
потому что есть много проектов, которые используют 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__быстрее.