Роутинг на языке PHP

Роутинг на PHP с использование библиотеки FastRoute
Метки: / /

В этой статье мы разберём как делается роутинг на PHP, делать его будем с помощью библиотеки FastRoute, и вообще эта статья скорее перевод документации на GitHub, будет интересно.

Также если вам интересен язык PHP и его библиотеки, то прочитаете статью «PHP Carbon библиотека для работы с временем», тоже будет интересно.

Установка FastRoute:

Установка происходит как всегда через composer, введите в терминал такую команду:

Работает это на PHP 7.4 или новее.

Работа с FastRoute:

Перед тем как начать с ним работать, имеет смысл зайти или создать файл «.htaccess» и написать там вот это:

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

После вам нужно создать диспачер, который будет проверять URL, введённый в браузерной строке, для этого заходим или создаём файл «index.php» и вот что пишем:

Первым делом мы подключаем файл «autoload.php», который хранит все библиотеки которые мы скачали через composer, следующие это мы создаём диспчер, для этого используем метод FastRoute\simpleDispatcher(), который принимает в себя функцию.

Внутри же этой функции мы создаём роутинг, с помощью метода addRoute(), который принимает в себя в качестве первого параметра тип запроса, это GET, следующие URL, и последние название обработчика.

Обработчик может быть или функцией, или  классом, или методом, тут как вам удобние, в нашем случае это функция, и чтобы её найти, вы просто можете создать её в этом же файле.

Теперь нужно немного обработать URL, делается это так:

В начале мы тут получаем тип запроса, это может быть GET или POST и т.д., и сам URL тоже получаем, следующие фильтруем, проверяем, есть ли там параметры GET, последние декодируем URL.

Последние, и это самое главное, мы должный в целом проверить, есть ли такая страница у нас на сайте или нет, для этого вписываем этот код:

В начале тут мы берём все данные о роутинге, потом проверяем диспачер, с помощью оператора switch, в начале проверяем, нашли вообще такой URL, если нет, то выводим ошибку 404, потом, если всё есть, то проверяем есть ли метод обработчик, если нет, то выводим ошибку 405, если всё нашло, то вызываем обработчик, с переменными которые идут к нему.

В целом это основное что вам нужно было знать про работу с этой библиотекой.

Вывод:

В этой статье вы прочитали как работает роутинг на PHP, и с помощью библиотеки FastRoute, показали тут самые основы, но если вас заинтересовала библиотека, то почитайте её документацию.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Также рекомендую:

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии