Сумрачный блог Кирилла Панфилова

Spartus 0.2.6

Разработка фреймворка Spartus начата 22 июня 2009 года. Сейчас на нём работает два проекта: www.du-parc.ch и www.lingvoblog.com, а скоро появится ещё два.


Задачи для фреймворка были следующими:

— поддержка БД и работы с файлами,

— многопользовательский режим,

— быстродействие,

— малый размер.


На данный момент основу фреймворка составляет следующая функциональность:

— конфигурирование сайта,

— имитация различных расширений страниц (.htm, .asp, .php, .wbp, .love, .spa) или возможность работы с URL без расширений,

— поддержка БД и обработка ошибок соединения,

— защита от потенциального взлома,

— опциональная авторизация (с распознаванием регистра ввода логина),

— роль администратора,

— роли пользователей,

— блокировка пользователей,

— создание списков страниц, которым требуется или, наоборот, не требуется авторизованный доступ,

— работа с шаблонами вёрстки,

— включение произвольных программных фрагментов в шаблон (Tiles: вариативный вывод в зависимости от условий),

— заданные переменные для текущей страницы, для запроса и текущего URL,

— обработка ошибки 404 с отправкой правильных заголовков,

— возможность хранения программного кода и статических страниц отдельно,

— выдача пользователю разных наборов страниц в зависимости от того, авторизован он или нет,

— динамическое создание title страницы.


В расширениях также поддерживаются:

— регистрация,

— редактирование страниц,

— управление пользователями,

— движок блога (в т.ч. многопользовательского).


В разработке:

— поддержка многоязычности,

— работа с серверным кэшем.


Вес основных файлов (на данный момент):

ядерный файл: 5,5 Кб,

конфигурационный файл: 1,5 Кб,

файл .htaccess: 0,5 Кб.


Архитектура:

при помощи .htaccess все URL (кроме указываемых отдельно: изображений, таблиц стилей, javascript-сценариев, видео и т.п.) передаются на обработку ядерному файлу (index.php, хотя название не принципиально), который сначала включает конфигурационный файл, потом производит обработку данных, а потом отдаёт результат на вывод.

Яндекс.Метрика