Объект класса Router
Данный объект находится внутри главного объекта "$mv" и отвечает за работу в переданным URL.
- getUrl() - возвращает запрошенный URL, если запрошена индексная страница вернет "/"
- getUrlParts() - возвращает массив частей URL
- getUrlPart($index) - возвращает часть URL под нужным порядковым номером (начиная с 0)
- getRoute() - возвращает название файла подключаемого шаблона
- isIndex() - проверяет является ли текущая страница главной (индексной)
- isLocalHost() - проверяет развернут ли проект на локальном хосте
- defineCurrentPage($start_key) - описан в разделе Постраничная разбивка
С объектом 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("create-order/?from=".$mv -> router -> getUrl()); //Проверяем, есть ли в URL вида "/user/652/" числовая вторая часть, //если нет то показываем 404 ошибку $user_id = $mv -> checkUrlPart(1, "numeric");
Предыдущий раздел
Общие принципы шаблонов