Маршрутизация роутинг запросов в PHP с использованием ООП

Опубликовано: 17 Март 2026
на канале: Mikhail Bukachuk
856
67

Открытый канал в телеге - https://t.me/PHPnoob
Чат взаимопомощи PHP - https://t.me/php_noob

Сегодня напишем маршрутизацию на PHP без привлечения фреймворков, но с использованием ООП и регулярных выражений. Напишем простейший пример роутинга с использованием объектно-ориентированного программирования. У нас будет класс маршрута, класс коллекции маршрутов, класс их сопоставления.

00:00 Разбираемся с принципом работы роутинга через перенаправления на index.php
02:00 Инициализируем проект с помощью composer init
03:00 Создаем файлы классов PHP
03:36 Настраиваем файл .htaccess для работы перенаправления в Apache web server
04:00 Смотрим как работает $_SERVER['REQUEST_URI'] переменная
06:10 Пишем класс маршрута Route.php в котором будут данные одного маршрута
07:30 Делаем класс контроллера, который будет обрабатывать нужный маршрут Route
09:00 Делаем класс RouteCollection в котором будут содержаться все маршруты проекта в массиве
09:50 Пишем файл index.php где создаем нужные объекты и запускаем роутинг
10:30 Пишем класс RouterMatcher который будет заниматься поиском подходящего к URI маршрута
13:00 Прикручиваем к маршруту Route параметры контроллера и метода контроллера
14:00 Добавляем выброс исключения на случай, когда маршрут не будет найден
14:50 Дописываем index.php для создания объекта контроллера и вызова нужного метода
15:10 Первый запуск и отладка кода. Исправляем ошибки.
17:00 Добавляем еще один маршрут в коллекцию маршрутов
18:20 Улучшаем вывод ошибки о несуществующем маршруте, используем try / catch
18:30 Решаем проблему наличия в REQUEST_URI query параметров
19:10 Добавляем возможность добавления маршрутов с помощью регулярных выражений
21:30 Проверка метода HTTP запроса вместе с его URI
22:10 Делаем краткий обзор проделанной работы

#php #видеоурок #программирование