Урок 18. Создание сайта с ООП Flashcards
Маршрутизация подготовка
- индексный файл делаем в директории public остальные страницы уходят в шаблоны
- Все запросы должны вести на один и тот же файл, не избретаем велосипед и подключаем зависимость composer require symphony/http-foundation
- подключаем для удобства пакет для отладки composer require symphony/var-dumper
Настраиваем классы
Нужно настроить как минимум 4 класса
1. класс приложения который подключается в индексном файле
2. Класс запроса (request) который хранит данные запроса
3. класс маршрутизатора который выстраивает маршрут по данным из запроса
4. Класс отдельного маршрута
класс приложения
В классе создаем свойство обьект маршрутизатор и реализуем метод в котором обьект запроса будет передоваться в обьект маршрутизатора в метод run и возвращать результат работы
класс маршрутизатора
в нем нужно реалзиовать место где будут храниться все зарегистрированные маршруты
а так же методы регистрации нового маршрута и метод запуска маршрута
Класс маршрутизатор
В конструкторе нужно указать параметры указанные при регистрации нового маршрута
и описаны методы укзаанные в run это были методы сравнения запроса с роутом и его выполнение
также нужно выполнить нормализацию url и привести мтеод к верхнему регистру
У обьекта request есть методы такие как
getPathInfo возвращает url запроса начинающийся с / без конечного слеша
и getMethod возвращает название метода запроса
суть
- создаем маршрутизатор в котором регистрируем новые маршруты у каждого указываем сам маршрут метод для получения и код для выполнения
- создаем класс приложения и регистрируем в нем маршрутизатор
- Выполняем запуск приложения на индексной странице и в качесве параметра передаем обьект запроса Request::createFromGlobals()
- в класса приложения просто передается запрос на маршрутизатор
- Маршрутизатор проверяет все маршруты на соответствие запросу и если тру то возвращает выполнение функции запуска у найденого маршрута
- Функция выполнения в роуте выполняет код указанный при регистрации