74
Последний родительский класс - это класс для форм ИС. В нем также
задаются основные константы, конструктор.
Следует заметить, что все описанные выше родительские классы
наследуются от фундаментальных классов фреймворка Symfony, которые
содержат базовые свойства и методы, разделяющие эти классы на три группы
MVC [5].
Каждый контролер обрабатывает запросы, отправляемые по
соответствующему маршруту. Описание того, какой контроллер должен
обрабатывать тот или иной маршрут оформляется в виде отдельного файла:
routing.yml.
Пример записи (главная страница ИС):
index:pat/defaults: { _controller: "AppBundle:DefaultController:Index" }
Такая запись означает следующее:
- первая строка - название маршрута (index);
- вторая строка - путь, или URL-адрес маршрута (/);
- третья строка - имя класса контроллера, который должен
обрабатывать маршрут, а также метод этого контроллера, ответственный именно
за этот маршрут;
Обработка маршрута выполняется в контроллере DefaultController.php.
При переходе по маршруту (отправке запроса на url /) начинает свою работу
метод IndexAction. Данный метод проверяет наличие у пользователя открытой
сессии авторизации, и если такой нет, то перенаправляет пользователя на форму
авторизации (маршрут /login, Контроллер SecurityController.php).
Для обработки шаблонов и формирования на их основе html-страниц,
отображаемых пользователю, используется распространенный шаблонизатор
twig. Twig - компилирующий обработчик шаблонов с открытым исходным
кодом, написанный на языке программирования PHP. Синтаксис,
поддерживаемый шаблонизатором, позволяет использовать в шаблонах
ветвления, циклы, а удобная структура кода позволяет значительно сократить