Должны ли ссылки быть базой данных или жестко закодированы в файле php? - PullRequest
0 голосов
/ 20 февраля 2011

Как следует из заголовка: Должны ли ссылки быть управляемыми из базы данных или жестко закодированы в файле php?Я имею в виду все системные ссылки, которые мы видим на веб-сайтах, такие как верхний и нижний колонтитулы, конфиденциальность, навигационные ссылки, ссылки на страницы и т. д. Я думаю, что таблица выглядит следующим образом:

link_id, url, description.

Одна из причин, по которой я хочу это сделатьЭто так для отслеживания ссылок, так как я не уверен, как еще отслеживать ссылки, если они не управляются БД?

Ответы [ 3 ]

0 голосов
/ 20 февраля 2011

Управление ссылками и отслеживание ссылок - это две разные проблемы.

Если вы хотите отслеживать частоту нажатия на ссылки, вам потребуется настроить какую-либо схему перенаправления или JavaScript для записи.пользователи нажимают на них.

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

Насколько это возможно, вы не хотите копировать и вставлять содержимое между файлами PHP.Если вы вдумчиво используете include, вам нужно будет обновить только несколько файлов, если эти статические ссылки изменятся.

Кроме того, вероятно, не стоит помещать URL-адреса ссылок, которые будут отображаться на каждой странице базы данных., как 1. ваши страницы не будут отображаться, если БД не работает, и 2. вы потенциально будете создавать тонны дополнительных запросов к базе данных.По крайней мере, ограничьте использование БД для отслеживания людей, нажимающих на ссылки, чтобы покинуть ваш сайт.

(Если вы просто пытаетесь отслеживать, как часто люди нажимают на ссылки между страницами на вашем сайте, вам лучшеотключите только использование веб-анализатора журналов в журналах http после факта или установку Google Analytics.)

0 голосов
/ 20 февраля 2011

Я бы не стал хранить их в базе данных, но вы можете создать php-файл с ассоциативным массивом string-> urls.Таким образом, вы можете ссылаться на них по имени.Вы также можете создать функцию, которая берет имя URL-адреса и некоторые параметры строки запроса и возвращает нужный URL-адрес.хороший способ избежать жестко закодированных URL-адресов, работает для меня

0 голосов
/ 20 февраля 2011

Я не уверен, что правильно понимаю на 100%, но, как правило, вы хотите максимально сократить ваше взаимодействие с базой данных, так как это значительно замедляет ваш сайт. Если вы хотите отслеживать все клики по ссылкам, для одной из них нет необходимости хранить саму ссылку в базе данных, потому что, среди прочего, изменение контента на вашем сайте будет намного более болезненным. И для двоих вы, вероятно, будете более счастливы, используя аналитическое приложение, такое как Google Analytics или Mixpanel .

Так что для статических ссылок вы почти наверняка захотите их жестко закодировать. В вашем веб-приложении могут быть динамические ссылки, например, если пользователь входит в систему и вы хотите настроить некоторые из ссылок, которые появляются на основе этого пользователя. Для этого имеет смысл иметь что-то вроде таблицы пользователей в базе данных с идентификатором пользователя и иметь логику в вашем приложении, которая основывает ссылки, созданные на основе этого идентификатора пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...