70
третья строка – имя класса контроллера, который должен
обрабатывать маршрут, а также метод этого контроллера, ответственный
именно за этот маршрут;
Обработка маршрута выполняется в контроллере DefaultController.php.
При переходе по маршруту (отправке запроса на url /) начинает свою работу
метод IndexAction. Данный метод запрашивает из базы данных информацию
по товарам, который нужно отображать на главной странице, список
категорий товаров для отображения меню каталога товаров, список разделов
сайта и параметры слайдера. Затем все данные передаются в шаблон
index.html.twig.
Для обработки шаблонов и формирования на их основе html-страниц,
отображаемых пользователю, используется распространенный шаблонизатор
twig. Twig – компилирующий обработчик шаблонов с открытым исходным
кодом, написанный на языке программирования PHP. Синтаксис,
поддерживаемый шаблонизатором позволяет использовать в шаблонах
ветвления, циклы, а удобная структура кода позволяет значительно сократить
итоговый объем программного кода. Также стоит отметить, что
шаблонизатор генерирует на основе своих шаблонов чистый php-код,
который обрабатывается значительно быстрее.
Если для запрашиваемого маршрута требуется наличие определенных
прав у пользователя (например, для открытия панели администрирования
нужны права сотрудника компании), то происходит переадресация на форму
входа (если посетитель сайта не авторизован), либо на главную страницу
сайта (если пользователь авторизован, но прав у него нет). Переадресация на
форму авторизации выполняется по маршруту «/login», который
обрабатывает контроллер SecurityController.php).
При переадресации на этот маршрут, срабатывает метод loginAction
контроллера SecurityController.php. Он создает экземпляр формы
LoginFormType.php и обрабатывает её отправку. На рисунке 21 приведен
алгоритм работы данного метода.