Внимание! В течении ближайших 6 месяцев сайт полностью переедет на домен www.fafik.ru НАВСЕГДА
 Самая простая CMS (условно) - www
Добавить в избранное

Самая простая CMS (условно)

13 апр 13Зеленков Михаил Анатольевич

Самую простую CMS (назовём так условно) можно написать на PHP достаточно быстро. Естественно, это не будет полноценной системой управления, а просто инструментом, который поможет создавать страницы сайта несколько быстрее. Принцип работы инструмента будет заключаться в разделении вывода шапки, содержимого и подвала сайта.

Структура каталогов

Для начала создадим нужные директории, в которых будем размещать создаваемые нами файлы. Создайте основную директорию нашего проекта. Назовём её просто - project. В директории project создайте следующие директории: templates - в этой директории будем сохранять шаблоны страниц pages - директория для отображаемых страниц css - директория для каскадных стилей js - директория для javascript-файлов

.htaccess

В корневой директории проекта (project) создайте файл .htaccess и поместите в него следующий код:
<IfModule mod_rewrite.c>

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
</IfModule>
С его помощью мы будем осуществлять роутинг (что это такое - погуглите; "далее везде" - я не буду заниматься разъяснением понятий).

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

В корневой директории проекта создайте файл config.php и поместите в него следующий код:
<?php


?>
В этот файл мы будем хранить разного рода настройки. Пока создадим его пустым - как задел на будущее.

Шапка (header)

В директории templates создайте файл header.php, в который мы сохраним следующий код:
<html>

<head>
<? echo $title; ?>
<head>
<body>

Подвал (footer)

В директории templates создайте файл footer.php, в который мы сохраним следующий код:
</body>

</html>

index.php

Создайте файл index.php, в который мы сохраним следующий код:
<?php

include_once 'config.php';
if (empty ($_GET['route'])) {
$route = 'main.php';
}
else {
$route = trim($_GET['route']);
}
if (!file_exists('pages/' . $route)) {
echo 'Запрашиваемая страница не найдена';
}
else {
include_once 'pages/' . $route;
}
?>

Наша первая страница

В директории pages создайте файл index.php, в который мы сохраним следующий код:
<?php

// Название страницы
$title = 'Заголовок страницы';
// Подключить шапку страницы
include_once '../templates/header.php';

... Наполнение страницы ...

// Подключить подвал страницы
include_once '../templates/footer.php';
?>
Вместо ... Наполнение страницы ... нужно вставить содержимое выводимой страницы.
Учтите, что если это будет блок HTML-кода, его нужно обрамить ?> и <?.
Давайте, как всегда, вспомним про мир, и заменим ... Наполнение страницы ... следующим кодом:
<?php

echo 'Здравствуй, мир!';
?>
Вот, собственно и всё на данном этапе. Теперь при обращении к странице index.php нашего сайта (локального, на Денвере, или размещённом на хостинге) наш "инструмент" выведет Здравствуй, мир!. Очень возможно, что фраза будет отображена "кракозябрами". Объясняю, почему: 1. мы с вами не оговаривали кодировку файлов, с которыми работали 2. отображение в браузере зависит от настроек кодировки конкретного браузера

http://zelenkov.net/самая-простая-cms-условно/
1575