2015-03-05 2 views
0

Я новичок в веб-разработке, и я начал работать на небольшом веб-сайте совсем недавно. Теперь проблема в том, что, поскольку это мой первый раз, я много перемещаю свои страницы на сервере, из-за чего мне приходится постоянно обновлять все другие страницы, которые ссылаются на него. Итак, я думал о динамическом способе связывания страниц, так что мне не нужно обновлять несколько мест, но только на одном.Управление веб-ссылками - php vs databse

Как это будет работать в том, что,

  • там будет отдельная база данных такая вещь, которая будет содержать все веб-страниц обновленный адрес и уникальный ключ, чтобы идентифицировать их. например. page12345 = «/about/us.php»
  • и в любом месте, где я хочу, чтобы включить ссылку на страницу, вместо ввода <a href="/about/us/php">..</a>, я должен ввести что-то вроде <a href="<?php echo $arr['page12345'] ?>">..</a>, или что-то подобное

Этот метод также позволит мне назначать теги/категории на страницы и добавлять к ним другие свойства. И, вероятно, я буду использовать его также для медиафайлов.

Теперь дело в том, что я могу думать только о двух способах этого, один использует массив в PHP, а другой использует базу данных MySQL. Массив, вероятно, будет слишком большим, чтобы обрабатывать, когда сайт растет, и с другой стороны, как и тысячи страниц, база данных MySQL, вероятно, окажется более медленной и в то же время более сложной.

Так что вы предлагаете? Что будет более эффективным. Или есть лучший способ, я открыт для любых других идей, которые у вас могут быть.

+0

«MySQL окажется медленнее» - если вы не масштабируете миллионы страниц, и даже тогда с правильным оборудованием и архитектурой вы все равно будете в порядке. MySQL очень способен на то, что вы хотите. – halfer

+0

Если у вас есть разделы страниц, содержащие повторяющуюся информацию (например, ссылки в меню), затем централизуйте их в одном файле и «include()» в соответствующей точке. – halfer

+0

Конечно, вы можете сделать все вышеперечисленное с помощью WordPress, поэтому не изобретайте велосипед, если вам это действительно нужно. – halfer

ответ

1

Типичный способ управления, чтобы не беспокоиться о URL-адресах вручную вообще и оставлять до маршрутизатор. В конце концов, URL-адреса - это всего лишь подробная информация о реализации протокола HTTP. То, что вы действительно хотите сделать, это однозначно идентифицировать конкретные страницы/действия. Посмотрите на любой маршрутизатор, поддерживающий обратную маршрутизацию; здесь в Symfony implementation:

blog_show: 
    path:  /blog/{slug} 
    defaults: { _controller: 'BlogController::showAction' } 
<a href="{{ path('blog_show', {'slug': 'my-blog-post'}) }}">Read this blog post.</a> 

Это правда, очень высокий уровень абстракции, используя YAML для определения маршрутов и Twig для шаблонам с пользовательской функции, определенной. Тем не менее, он, надеюсь, демонстрирует цель: не беспокойтесь о URL-адресах в ваших реальных ссылках. У вас должно быть одно каноническое место, где указаны URL-адреса (path в приведенном выше примере), везде вы просто ссылаетесь на свою целевую страницу по имени (blog_show здесь). Если вам нужно перемещать URL-адреса, есть одно место, где вам нужно это делать. Вещь в середине, которая делает эту работу, - это маршрутизатор.

+0

, хотя это не совсем то, что я хотел , но чтение этого дало мне представление, которое, я считаю, должно сделать трюк, спасибо –

Смежные вопросы