Быстрая CMS
Обратная связь Карта сайта
Главная Создание сайтов Практика Строим CMS Наивное О проекте Блог

Файл конфигурации CMS

А теперь небольшой шаг в сторону. Это частое явление при разработке проекта в одиночку. Рано или поздно обнаруживается что-то не учтенное и последовательность нарушается.

Как это мы забыли о такой важной вещи, как файл конфигурации CMS? Да очень просто, забыли потому, что пока шла черновая разработка отдельных функций движка, он нам еще не был нужен. Но как только мы подошли к формированию меню, понадобились предварительные установки. Псевдостатические (в будущем) ссылки в меню можно формировать в разных вариантах. А можно и не формировать, оставить реальные динамические. Но и в этом случае хочется обеспечить гибкость движка – не делать же на нем все сайты одинаковыми!

Что бы там ни говорили об «удобстве настроек», а конфигурация сайта не меняется каждый день. Поэтому конфигурационным файлом может быть просто подгружаемый скрипт, где задаются значения переменным. Назовем его start.inc.php и положим в директорию /libs. А выглядеть он будет так:


<?php
 /* ------------------------
 $_urlmode - вид URI, генерируемых движком
 ------------------------ */
$_urlmode  = 'none';

 /* ------------------------
 $_ext - расширение файла для псевдостатических ссылок
 ------------------------ */
$_ext='.html';

 /* ------------------------
 $_pageid - наименование GET-параметра для алиаса, по умолчанию id
 ------------------------ */
$_pageid   = 'id';

$charset='windows-1251';

 /* ------------------------
 Маршрут к директории контента, указывается от корневой директории сайта
 ------------------------ */
$datapath='data/';

 /* ------------------------
 Страница сообщения "файл не найден"
 ------------------------ */
$page404='404.htm';

 /* ------------------------
 Массив допустимых GET-параметров. Любой параметр, имя которого не входит
 в этот массив, должен вызывать ошибку с выдачей 404 Not Found.
 ------------------------ */
$get_arr=array($_pageid, 'pg');
?>

Здесь нет ничего особенного. Подгружая этот файл директивой include, мы просто определяем значения переменных. Эти переменные вынесены в отдельный файл, потому что они понадобятся не только скрипту вывода, но и панели управления. Например, маршрут к директории, где лежат файлы контента, нужен обеим частяи CMS.

Переменная $urlmode будет задавать вид ссылок, ей планируется давать как минимум три возможных значения:

Переменная $_ext задает расширение файла для режима static. Это может быть .html, .htm, .phtml, .shtml – да какое угодно расширение. Можно и пустое, тогда ссылка будет выглядеть как имя файла без расширения. Главное – не увлекаться и не задавать расширений распространенных медиатипов вроде .gif или .jpg. Иначе правила для mod_rewrite тупо попытаются интерпретировать имена файлов рисунков как разделы сайта.

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