Объект класса Router
Данный объект находится внутри главного объекта $mv и отвечает за работу с переданным URL и определение маршрута.
- getUrl() - возвращает запрошенный URL, если запрошена индексная страница, то вернет '/'
- getUrlParts() - возвращает массив частей URL
- getUrlPart($index) - возвращает часть URL под нужным порядковым номером, начиная с 0
- getRoute() - возвращает название файла подключаемого шаблона
- isIndex() - проверяет является ли текущая страница главной
С объектом Router тесно связан метод checkUrlPart($index [,$extra_check]) в объекте $mv, который описан в разделе Объект MV. Данный метод проверяет есть ли часть URL под указанным индексом и если она есть, то возвращает ее, а если ее нет то показывает 404 ошибку. В качестве дополнительного параметра передается $extra_check, если его значение равно 'numeric', то данная часть URL должна быть числовой.
//Пытаемся извлечь из URL третью часть, запрос вида '/articles/32/83'
$article_id = intval($mv -> router -> getUrlPart(2));
//Если такого элемента нет, то страница не найдена
$mv -> display404($article_id);
//Если запрошена главная страница - подключаем левую колонку
if($mv -> router -> isIndex())
include $mv -> views_path.'parts/left-column.php';
//Редирект с параметром, в котором содержится обратный путь
$mv -> redirect('order/create?from='.$mv -> router -> getUrl());
//Проверяем, есть ли в URL вида '/user/652' числовая вторая часть,
//если нет то показываем 404 ошибку
$user_id = $mv -> checkUrlPart(1, 'numeric');
Предыдущий раздел
Общие принципы шаблонов