Это действительно сводится к тому, как вы структурируете свой сайт. Относительные URL-адреса хороши (делая href="index.php"
, вы действительно говорите href="./index.php"
), но они могут стать грязными, когда вы начнете распространять страницы по нескольким каталогам.
Лично мне нравится выводить все относительные URL-адреса из корневого каталога, то есть все мои URL начинаются с косой черты ('/'). Таким образом, не имеет значения, находится ли мой скрипт в / или / admin, поскольку у меня всегда будет постоянная контрольная точка - корень документа - в отличие от некоторого относительного каталога в структуре.
Ваш первый пример, в котором пути к документам хранятся в переменных, действительно начинает пригодиться, когда вы начинаете разрабатывать большие системы, в которых вы хотите, чтобы пути были настраиваемыми. Например, может быть, вы хотите, чтобы ваши системные администраторы могли определять, откуда берутся изображения или где хранятся кэшированные загрузки.
Так что действительно учитывайте ваши варианты использования и размер вашей системы.
Также имейте в виду, что если вы когда-нибудь переместите скрипт на другой сервер, ваши URL и структуры каталогов могут измениться, что может привести к хаосу (например, ваш скрипт может быть перемещен в другой поддомен, в корень документа, так далее.). В этом случае многие люди будут заходить в Apache mod_rewrite.