Роутинг

Оглавление

1. Введение
2. Правила построения маски
3. Примеры

Введение #
К оглавлению

В ABC-фреймворке есть два способа организации роутинга.
1. Обычный, это упрощенные правила роутинга популярного фреймворка Yii2
2. Для RESTfull приложений. Аналог роутинга фреймворка Slim

Синтаксис и правила составления маршрутов у них одинаковый. Причем есть два варианта, можно использовать <брички>, как в Yii, либо {фигурные скобки}, как в Slim или Laravel.

Правила построения маски. #
К оглавлению

1. Простой текст воспринимается жестко, по полному совпадению.

2. Текстом в бричках (<имя>) или фигурных скобках ({имя}) является имя GET-параметра, в которое будет подставлено значение из URI.

3. Если указан именованный параметр, и, через двоеточие, регулярное выражение (<имя:RegExp> или {имя:RegExp}), будет осуществляться поиск по этому выражению.

4. Поиск прекращается при первом совпадении.


Примеры. #
К оглавлению

1. URI вида http://site.ru/main будет сопоставлен с маской /main

2. URI вида http://site.ru/main/vasa будет сопоставлен с маской /main/{user}, кроме того будет выделен GET-параметр user=vasa.
Это будет соответствовать такому URI: http://site.ru/main/?user=vasa

3. URI вида http://site.ru/main/3 будет сопоставлен с маской /main/{num:\d+}. Kроме того будет выделен GET-параметр num=3.
Это будет соответствовать такому URI: http://site.ru/main/?num=3
Однако он не будет соответствовать URI из второго примера, так как роут реагирует только на числовые значения второй секции path, что указано в регулярном выражении.

Подробнее в соответствующих разделах.

1. Обычный роутинг
2. RESTfull