Це виглядає так само для мене, але я не впевнений,
тому що існує багато проектів, які використовує 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__швидше.