Перейти к основному содержимому

Обзор архитектуры

На этом этапе мы хотим дать краткий обзор архитектуры Pimcore.

Как обычно, одна картинка стоит дороже тысячи слов: Архитектура Pimcore

На этой диаграмме показана архитектура типичного приложения Pimcore. Вся область, выделенная синим цветом, поставляется непосредственно с Pimcore, является неотъемлемой частью системы или представляет собой расширение её ядра, которое можно установить в зависимости от потребностей проекта. Остальные компоненты на диаграмме представлены в других цветах.

Сам Pimcore состоит из ядра Pimcore (Pimcore Core) и компонента MVC. Ядро Pimcore — это основное приложение, которое предоставляет все базовые функциональности и может запускаться внутри MVC-компонента или в безголовом (headless) режиме, например, через CLI-скрипты. Ядро Pimcore также отвечает за доступ к уровню хранения данных: базам данных, файловой системе и системе кэша.

На базе Pimcore Core строится MVC-компонент, который предоставляет все необходимые возможности для взаимодействия с Pimcore через браузер или через любой другой HTTP‑клиент API (REST, SOAP и т. п.).

Расширения ядра (Core extensions) можно устанавливать через Composer; они дополняют функционал ядра дополнительными возможностями. Некоторые такие расширения доступны только в Enterprise Edition.

Плагины и другие пользовательские модули/бандлы также можно добавлять через Composer; они используют функциональности Pimcore Core через его API или используются MVC‑компонентом.

При реализации решений на базе Pimcore ваша пользовательская логика и компоненты обычно располагаются в одном из следующих мест архитектуры:

  • Внутри MVC‑компонента это могут быть приложения/веб‑сайты (Apps/Website): здесь находятся все имплементации, специфичные для решения — модели, представления и контроллеры для вашего сайта.
  • Плагины/бандлы и кастомные модули предназначены для реализаций и модулей, которые вы хотите переиспользовать в других проектах. Как и в других системах, не обязательно превращать каждый фрагмент кода в плагин.

Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.