Определение константы базового URL вместо использования base_url ()? - PullRequest
0 голосов
/ 08 февраля 2012

Вместо вызова функции:

base_url()

для каждой ссылки, имеет ли смысл определить ваш базовый URL в constants.php:

define('BASE_URL', 'http://mysite.com/');

и затем использовать эту константу, чтобы вызов функции не выполнялся многократно на странице?

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

Не совсем. Вы столкнетесь с неожиданным поведением, если будете использовать любую из следующих функций:

  • redirect()
  • site_url()
  • base_url()
  • form_open()
  • anchor()

Это не исчерпывающий список - многие другие функции зависят от настроек конфигурации основного URL. Лучшим подходом может быть использование относительных ссылок вместо жесткого кодирования абсолютных URL.

Я сам испытывал желание использовать site_url(), чтобы определить каждую ссылку как меру паранойи (задаваясь вопросом, изменится ли когда-либо структура URL). Но на самом деле, серьезный пересмотр карты сайта создаст более сложные проблемы, чем просто ссылки. Ради развития я сейчас просто использую относительные ссылки там, где это имеет смысл.

Ура!

0 голосов
/ 08 февраля 2012

По моему мнению, я не буду беспокоиться о множественных вызовах на base_url() - я сомневаюсь, что это существенно повлияет на производительность.

Кроме того, мне не нравится идея использовать константу, потому что базовый URL будет по существу определен дважды, в двух разных местах. Один раз в config.php и один раз там, где будет жить константа BASE_URL. Тем не менее, это только моя мысль об этом - возможно, кто-то еще мог бы оправдать это.

tl; dr Я не думаю, что множественные вызовы на base_url() являются проблемой и, в большинстве случаев, вероятно, не окажут существенного влияния на производительность.

...