система управления контентом
LifeFix CMS
фреймворк, чтоб было удобно
Что мы уже умеем?
- Готовые Компоненты: см. верхнее меню
- Hello, World!
- Зеркальная страница (полностью копирует
news.php) - s_list_class.php (листинг объектов)
- Общие текстовые блоки
Что в разработке?
В чем фишка?
Это PHP-фреймворк, ориентированный на программистов. Он упрощает рутинное программирование, предлагая готовую "обвязку" для PHP-разработки.
В каком-то смысле это среда для разработки PHP-утилит.
URL-структура соответствует структуре директорий.
За внешний вид отвечает Шаблонизатор в виде header.php и footer.php
За функионалы отвечают Компоненты. Компоненты подключаются внутри PHP-файлов между header.php и footer.php.
Пользовательская работа с Компонентами программируется через ?action=*
CRON эмулируется через ?action=browse (или отсутствие ?action)
Данные хранятся в XML-файлах рядом с исполняемым PHP-файлом. Логика выборки XML-файлов (замещает собой SQL-запросы) делается по имени файла через glob("*").
Компонент представляет собой набор хорошо продуманных PHP-функций. Шаблонизатор и Компоненты также используют очень простые типовые общие функции системы.
Логика работы программируется прямо внутри PHP-файла, посредством определения условий и последовательности вызова необходимых функций.
Архитектура системы напоминает симбиоз CMS NetCat и PmWiki: от обеих систем взяты концептуальные подходы, но всё написано на простом PHP.
Ядро LifeFix CMS (глазами ChatGPT)
1. Файловая структура
- Каждая директория = логическая единица/страница/сервис.
- URL соответствует структуре директорий.
- Пустые директории оживляются через
godmode=on.
2. Компоненты
- Термин: «Компонент» = функциональный модуль.
- Содержит набор PHP-функций.
- Подключается между
header.phpиfooter.php. - Пользовательская логика через
?action=*. - CRON-эмуляция через
?action=browseили отсутствие?action.
3. Хранение данных
- Нет БД (или по желанию SQLite/MySQL).
- Каждый объект Компонента = отдельный XML-файл.
- Имя файла содержит ключевые параметры (ID, статус, parentGroup, даты и др.).
- Выборка данных = фильтрация по имени файла (
glob() + preg_match()).
4. Шаблонизатор
header.phpиfooter.phpзадают внешний вид.- Середка страницы — HTML + Компоненты.
- Полный контроль над HTML и PHP у разработчика.
5. Модули
- Легко подключаемые и автономные.
- Любой PHP-функционал можно встроить в модуль.
- Система совместима с PmWiki для предварительной обработки файлов.
6. Плюсы/сильные стороны
- Полностью переносимая: zip-папка = весь проект.
- KISS: минимальный код, прозрачная структура, простой доступ к данным.
- Лёгкая интеграция с другими сервисами и модулями.
- Прозрачность и контроль: всё видно и редактируется напрямую.