A free and open-source book on ZF3 for beginners


5.12. Выводы

В этой главе мы узнали о маршрутизации. Маршрутизация используется для установления соответствия HTTP-запроса с методом действия контроллера. Существует несколько типов маршрутов (Literal, Segment, Regex, Hostname, Scheme, Method и т.д.). Каждый тип маршрута использует разные части URL (а также, возможно, другие данные HTTP-запроса), чтобы сравнить URL с указанным шаблоном маршрута. Мы также узнали, как написать пользовательский класс маршрута, если возможностей стандартных типов недостаточно.

Главная задача класса маршрута - вернуть набор параметров, которые содержит сопоставленный маршрут, по которым могут быть определены контроллер и действие. В то же время, обратная задача позволяет генерировать URL с использованием этих параметров. Это широко используется в слое представления приложения для генерации гиперссылок.

Типы маршрутов могут быть объединены либо во вложенное дерево с помощью маршрутизатора TreeRouteStack, либо в цепь с помощью SimpleRouteStack. Эти два маршрутизатора позволяют определить сколь угодно сложные правила.

Конфигурация маршрутизации хранится в файле конфигурации модуля под ключом router. Каждый модуль выставляет свои правила маршрутизации, которые объединяются с конфигурацией других модулей при запуске приложения.


Top