Роутинг¶
Возможность роутить запросы на нужные контроллеры без использования аддона SEO. Маршруты задаются через схему в виде:
$schema = array(
'/route' => array(
'param1' => 'value1',
'param2' => 'value2',
)
);
где ключ массива — маршрут, значение — набор параметров, которые передадутся в $_REQUEST при совпадении маршрута с REQUEST_URI.
Выражения¶
*— совпадение с любым URI[i]— совпадение с целым числом[i:id]— совпадение с целым числом и передача его в параметр id[a:action]— буквенно-цифровое совпадение и передача его в параметр action[h:key]— шестрадцатиричное совпадение и передача его в параметр key[:action]— любое совпадение до следующего слеша или до конца URI и передача его в параметр action[create|edit:action]— совпадение с create или edit и передача его в параметр action[*]— любое совпадение до следующего слеша[*:trailing]— любое совпадение до следующего слеша и передача его в параметр trailing[**:trailing]— любое совпадение до конца URI слеша и передача его в параметр trailing[:format]?— опциональный параметр, если сушествует - передача его в параметр format
Пример¶
$schema = array(
'/images/thumbnails/[i:w]/[i:h]?/[**:image_path]' => array(
'dispatch' => 'image.thumbnail'
)
);
URI: /images/thumbnails/100/80/detailed/0/image.png. Результат:
array(
'dispatch' => 'image.thumbnails',
'w' => 100,
'h' => 80,
'image_path' => 'detailed/0/image.png'
)
URI: /images/thumbnails/100/detailed/0/image.png. Результат:
array(
'dispatch' => 'image.thumbnails',
'w' => 100,
'h' => '',
'image_path' => 'detailed/0/image.png'
)