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

Шаг шестой. Файл index.php

Ну вот и добрались до главного файла. Однако, как вы увидите позднее, вовсе не его нам будет показывать браузер. Этот файл подобен скелету, на котором еще много чего наростет.

Не принимайте жизнь всерьёз - это временное явление...

Собираем наш сайт в кучу.

Фактически в файле index.php происходит подключение библиотеки и программ логики. Привожу его код.

//////////////////Главный маршрутизатор (роутер) /////////////////////////////////////// /** * We establish the charset and level of errors * Устанавливаем кодировку и уровень ошибок */ header("Content-Type: text/html; charset=utf-8"); error_reporting(E_ALL); /** * Installation of a key of access to files * Установка ключа доступа к файлам */ define('INDEX_KEY', true); /** * We connect a configuration file * Подключаем конфигурационный файл */ define('CONFIG_PATH', str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']) .'/libs/model/config.php'); require_once CONFIG_PATH; /** * We connect a file of the language * Подключаем языковой файл */ require_once CONFIG_ROOT_LIBS_VIEW . CONFIG_LANGUAGE .'.php'; /** * Получаем файл переменных * Receive a variables file */ require_once CONFIG_ROOT_LIBS_MODEL . 'variables.php'; /** * We put in order a conclusion * Приводим в порядок вывод */ require_once CONFIG_ROOT_LIBS_VIEW . 'view.php'; /* Включаем буферизацию */ ob_start(); /** * The switch of modules * Переключатель страниц */ switch($GET['section']) { case 'main': include CONFIG_ROOT_CONTROLLER . 'main/router.php'; break; case 'section_1': include CONFIG_ROOT_CONTROLLER . 'section_1/router.php'; break; case 'section_2': include CONFIG_ROOT_CONTROLLER . 'section_2/router.php'; break; case 'section_3': include CONFIG_ROOT_CONTROLLER . 'section_3/router.php'; break; case 'section_4': include CONFIG_ROOT_CONTROLLER . 'section_4/router.php'; break; case 'section_5': include CONFIG_ROOT_CONTROLLER . 'section_5/router.php'; break; /** * Подключаем модуль по умолчанию * Includes the greeting module */ default: include CONFIG_ROOT_CONTROLLER . 'main/router.php'; break; } /* Пишем содержимое буфера в переменную и выключаем буферизацию */ $content = ob_get_contents(); ob_end_clean(); /** * Подключаем главный шаблон, в котором есть распечатка переменной $content * Includes the basic template */ require_once CONFIG_ROOT_TPL . 'index.html';

В переключатель switch передается значение раздела при переходе по гиперсылке. А переключатель включает роутер указанного раздела.

Первый же вопрос: А что это за роутер (router.php)? Это маршрутизаторы разделов. В зависимости от того, в какой раздел мы будем переходить, роутеры будут нас направлять далее и будут подключать программы логики, которые будут динамически формировать контент страниц так, как мы захотим. В процессе буферизации программы логики будут формировать переменные, содержащие нужный нам HTML код, при этом реального вывода на страницу пока не просходит. И наконец, при подключении главного шаблона (index.html), все переменные будут в нем распечатаны! (Естественно для этого они должны там быть!)

Рассмотрим роутеры в Шаге 7.


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

E-Mail: oleynikww@gmail.com

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

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