Loading
Красноглазым Джедаям
компьютерной вселенной
посвящается.

Шаг седьмой. Роутеры.

Роутер это стрелочник, который и будет виновен в том, что наш сайт пошел не туда, куда его послали. Ведь роутер подключает программы логики конкретного раздела сайта и включает шаблоны его представления.

Ничто так не отвлекает от жизни, как борьба за существование.

Разделение логики и представления.

Итак, вот они - контроллеры. А к контроллерам ведут роутеры. Для начала приведем код роутера (файл router.php). В переключатель switch передается значение страницы при переходе по гиперсылке. Переключатель включает файл с логикой (контроллер) и соответствующий ему файл с представлением. Константа ROUTER_SECTION должна содержать путь к папке с файлами контроллеров текущего раздела!

define('ROUTER_SECTION', CONFIG_ROOT_CONTROLLER . 'main/'); switch($GET['page']) { /** * Подключаем контроллер конкретной страницы * The controller of the page includes */ case 'page_1': include ROUTER_SECTION . 'page_1_controller.php'; include ROUTER_SECTION . 'view.php'; break; /* * Подключаем модуль по умолчанию * Includes the greeting module */ default: if(file_exists(ROUTER_SECTION . $GET['page'] . '_controller.php')) { include ROUTER_SECTION . $GET['page'] . '_controller.php'; include ROUTER_SECTION . 'view.php'; } else { include ROUTER_SECTION . 'page_1_controller.php'; include ROUTER_SECTION . 'view.php'; } break; }

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

Контроллеры рассмотрим в Шаге 9.

В Шаге 8 рассмотрим подключение шаблонов представления - файл view.php. Почему не логику, потому что представление проще! Там будет определена первая переменная для записи в главный шаблон (index.html).


Контактная информация

E-Mail: oleynikww@gmail.com

Добавить комментарий

Комментарии пользователей