68
обрабатывать тот или иной маршрут оформляется в виде отдельного файла:
routing.yml.
Пример записи (главная страница ИС):
index:
path: /
defaults: { _controller: "AppBundle:DefaultController:Index" }
Такая запись означает следующее:
первая строка – название маршрута (index);
вторая строка – путь, или URL-адрес маршрута (/);
третья строка – имя класса контроллера, который должен
обрабатывать маршрут, а также метод этого контроллера, ответственный именно
за этот маршрут;
Обработка маршрута выполняется в контроллере DefaultController.php. При
переходе по маршруту (отправке запроса на url /) начинает свою работу метод
IndexAction. Данный метод проверяет наличие у пользователя открытой сессии
авторизации, и если такой нет, то перенаправляет пользователя на форму
авторизации (маршрут /login, Контроллер SecurityController.php).
Для обработки шаблонов и формирования на их основе html-страниц,
отображаемых пользователю, используется распространенный шаблонизатор
twig. Twig – компилирующий обработчик шаблонов с открытым исходным кодом,
написанный на языке программирования PHP. Синтаксис, поддерживаемый
шаблонизатором позволяет использовать в шаблонах ветвления, циклы, а удобная
структура кода позволяет значительно сократить итоговый объем программного
кода. Также стоит отметить, что шаблонизатор генерирует на основе своих
шаблонов чистый php-код, который обрабатывается значительно быстрее.
При переадресации на маршрут открытия формы (/login), срабатывает
метод loginAction контроллера SecurityController.php. Он создает экземпляр
формы LoginFormType.php и обрабатывает её отправку. На рисунке 26 приведен
алгоритм работы данного метода.