FFCMS Wiki

Официальная документация разработчика и администратора

Инструменты пользователя

Инструменты сайта


admin:overview

Краткий обзор FFCMS

FFCMS - быстрая расширяемая система управления содержимым сайта. На данной странице будут рассмотрены основные элементы системы и механизмы взаимодействия с ними.

Интерфейсы системы

FFCMS, как и любая другая CMS, содержит несколько раздельных по цели взаимодействия интерфейсов (реже они называются загрузчик, среда). Интерфейсы взаимодействия в ffcms разделены по принципу целей взаимодействия с клиентом: http взаимодействие с браузером пользователя, администратора, api взаимодействие для структурированных данных, консольное взаимодействие. В FFCMS выделены следующие виды интерфейсов:

Тип Название Точка вход Назначение Примечание
http Front / Взаимодействие с пользователем Основной интерфейс, отображаемый в браузере клиента сайта
http Admin /admin/ Взаимодействие с администратором Интерфейс управления сайтом, настройками и его содержимым, предназначенный для авторизованного администратора системы
http Api /api/ Программное API взаимодействие Интерфейс взаимодействия программного api - ajax, json, xml и другие
http Install /install/ Установочный интерфейс Интерфейс установки и обновления системы
cli Console php console.php Консольный интерфейс Интерфейс управления и настройки системы консольными командами
cli Cron php cron.php Интерфейс планировщика Интерфейс исполнения заданий по расписанию. Системная утилита

Каждый из интерфейсов выполняет определенные задачи и изолирован от других интерфейсов. Но несмотря на это, программные реализации любого из интерфейсов могут быть выполнены в другом интерфейсе при их инициации.

Расширения

Система FFCMS поддерживает несколько типов расширения системы. Хотя, конечно, их полный набор не ограничивается лишь описанными ниже типами, так как модель ядра системы и стандарт автозагрузки позволяют реализовать практически неограниченное по механизму действия количество разных логик реализаций.

Выделяют 3 основных типа расширений:

  1. Приложение (Application): набор программных алгоритмов единых по логике взаимодействия, которые реализуют определенные ограниченные функциональные особенности. Приложение при установке занимает определенный корневой URI-адрес на сайте, к примеру /demo/*, /app/* и все вложенные в него пути. Таким образом, приложение ограничено в рамках данного адреса и может обрабатывать бесконечное множество запросов в иерархии данного корневого пути. К примеру, приложение занимающее корневой адрес /demo/* может обработать запросы вида /demo/index, /demo/other/query, /demo/data/test/123, /demo/hello?param=value
  2. Виджет (Widget): небольшой программный алгоритм, выполняющий одну задачу или взаимодействующий с существующими реализациями. В отличии от приложений, виджеты не используют параметры URI-запроса и содержат лишь один метод вызова. Все виджеты хранятся в директории /Widgets в зависимости от интерфейса реализации.
  3. Прочие (other): в данную группу расширений попадают все другие виды реализаций или совокупные реализации, состоящие сразу из одного или нескольких приложений и(или) виджетов. В качестве прочих реализаций могут так же выступать расширения ядра или прочие сторонние базовые функциональные расширения.

Шаблоны и темы

В отличии от большинства фреймворков, которые направлены на опытных разработчиков, в системе ffcms доступна возможность динамической шаблонизации интерфейсов. Все шаблоны являются стилевыми реализациями представлений.

Все представления, а следственно и шаблоны хранятся в директории /Apps/View/ и разделены на интерфейсные директории (Front, Admin, и т.д.). К примеру, стандартный шаблон интерфейса Front имеет имя default и расположен в директории /Apps/View/Front/default.

При разработке своих собственных шаблонов, которые содержат набор представлений и стилей, вы можете использовать любые другие имена, отличные от default и помещать в них ваши наработки.

admin/overview.txt · Последние изменения: 2017/01/10 07:32 (внешнее изменение)