Архитектура платформы Abricos
Платформа Abricos построена на базе собственного фреймворка. Основной упор в проектирование системы Abricos сделан на полном разделении всех компонентов на составляющие. Т.е. элементы управления, элементы интерфейса и запросы взаимодействия c базой данных сервера полностью разделены, что существенно облегчает разработку интернет проекта, а главное позволяет организовать полный порядок в системе изнутри.
Так же основной стратегией развития платформы Abricos является продвижение технологии BrickJSEngine. На основе этой технологии становиться возможным построение на стороне клиента полноценных, самостоятельных элементов управления, тем самым делая интерфейс пользователя более гибким, а разработка его для программистов становиться проще. Более подробно об этой технологии можно узнать на странице BrickJSEngine
Принцип работы платформы
Когда браузер клиента делает запрос на сервер, RewriteEngine на основе правил в .htaccess начинает выполение скрипта index.php. Index.php является единственным скриптом, своего рода точки входа, инициализации ядра. В процессе инициализации ядра происходит следующее:
- чтение настроек платформы из файла /includes/config.php
- инициализация коннекта к базе данных MySql?
- разбор URL-а на параметры
- инициализация системного модуля (/modules/sys)
- сборка и вывод страницы системным модулем браузеру клиента
- из параметров URL-а определение управляющего модуля, инициализация его и установка им стартового кирпича BrickContent
- если управляющий модуль не определен, то поиск в БД соответствующей страницы, чтение ее и установка стартового кирпича BrickContent - /modules/sys/content/index.html
- загрузка стартового кирпича BrickContent
- разбор параметров стартового кирпича BrickContent
- определение кирпича обертки BrickTemplate
- установка кирпича BrickTemplate в качестве родительского кирпича
- загрузка всех дочерних кирпичей
- компиляция кирпича обертки BrickTemplate и всех дочерних кирпичей с выводом результата браузеру клиента
- завершение работы ядра
Структура каталогов
- includes - PHP Framework движка и прочие подключаемые библиотеки
- js - JavaScript сторонних разработчиков
- tinymce - визуальный редактор
- yui - библиотека YAHOO! User Interfase
- modules - модули
- ajax - модуль обработки AJAX запросов
- sys - системный модуль
- user - модуль "Пользователи"
- temp - папка временных файлов
- tt - шаблоны
Каталог includes
В этом каталоге находятся основные php скрипты ядра BrickCMS и дополнительные библиотеки сторонних разработчиков, такие как:
- geshi - раскраска исходного кода (SyntaxHighlighter?) на стороне сервера средствами PHP;
- jevix - истема автоматического применения правил набора текстов (типографика);
- json - конвертер JSON;
- phpmailer - класс по отправке email;
- upload - менеджер загрузки картинок;
Каталог js
В этом каталоге находятся JavaScript библиотеки сторонних разработчиков, такие как:
- sh - раскраска исходного кода (SyntaxHighlighter?) на стороне клиента средствами JavaScript
- tinymce - визуальный редактор HTML кода;
- yui - YAHOO! User Interfase Library, является базовым фреймворком технологии BrickJSEngine;
Примечание: Рекомендуется размещать js файлы в папки версий. Это необходимо для того, чтобы при выходе новой версии, их файлы располагались в другой папке, потому как браузер кеширует js-файлы, и может попросту не принять обновленную версию файлов.
Каталог modules
В этом каталоге находятся модули платформы Abricos. В текущей версии ядра существует три системных модуля:
- ajax - отвечает за обработку AJAX запросов и перенаправление их модулям адресатам;
- sys - системный модуль, который занимается строительством страницы из кирпечей;
- user - модуль по работе с пользователями: авторизация, менеджер сессий.
Каталог temp
Это каталог временных файлов.
Примечание: Каталог должен иметь доступ на запись (CHMOD 777)
Каталог TT
В этом каталоге хранятся шаблоны стилей отвечающих за внешний вид отображаемой страницы. В нем содержатся два основных каталога поставляемых с ядром:
- _sys - системные шаблоны;
- default - шаблон по умолчанию.
