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

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

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