PHP и MySql: как осуществляется взаимодействие с URL?

maks_m
На сайте с 02.07.2013
Offline
101
431

Например, есть следующие URL:

site.com/

site.com/categories

site.com/categories/category_one

site.com/post-1234

Как показывать на определённой странице определённый контент?

С "разборки" url на части с помощью php и запросов, исходя из этого, нужных данных из БД?

Посоветуйте, что почитать, где бы объяснялся именно этот момент в веб-разработке.

Joker-jar
На сайте с 26.08.2010
Offline
171
#1

Можно средствами веб-сервера (mod_rewrite и т.п.), можно средствами PHP. Второе гибче и практичнее. Почитайте статьи по ключам "роутинг на PHP", смотреть исходники других проектов тоже полезно.

[Удален]
#2

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

Почитайте как это реализовано в имеющихся проектах

https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/rest-routing.md

и

http://docs.phalconphp.ru/ru/latest/reference/routing.html

IPXI
На сайте с 04.11.2015
Offline
126
#3

мне кажется вот эта ссылка может быть вам полезна http://habrahabr.ru/post/150267/ и поищите ещё, там же

---------- Добавлено 16.01.2016 в 12:34 ----------

+ неплохая книга "Разработка веб-приложений с помощью PHP и MySQL" Люк Веллинг, Лаура Томсон //www.ozon.ru/context/detail/id/4538872/ ну и там тоже ещё книг 5 есть интересных по теме.

---------- Добавлено 16.01.2016 в 14:26 ----------

нет, в книге этого нет, поэтому дополню свой ответ простой схемой:

один из вариантов, которым пользуюсь - обрабатывать все адреса через index.php, используя файл .htaccess, в нём работает следующая строка:

RewriteRule ^.*$ ./index.php [L]

она все адреса отправляет на обработку в index.php и в нём уже Вы задаёте правила, разбираем урл, в зависимости от раздела/страницы подключаем необходимые файлы.

примерно так, на хабре поищите

maks_m
На сайте с 02.07.2013
Offline
101
#4

IPXI, спасибо, именно это и хотел узнать.

IPXI
На сайте с 04.11.2015
Offline
126
#5

отлично, если будут потом простые вопросы, пишите здесь, постараюсь ответить. На том уровне, на котором знаю, конечно ;)

M
На сайте с 04.12.2013
Offline
223
#6
maks_m:
С "разборки" url на части с помощью php и запросов, исходя из этого, нужных данных из БД?

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

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий