OctoberCMS plugin и Composer

Команды composer'a следует запускать внутри каталога плагина.

/plugin-root
├── /assets
├── /classes
├── /components
├── /controllers
├── /docs
├── /models
├── /updates
├── composer.json  <= вот этот товарищ
├── LICENSE
├── Plugin.php
└── README.md

Загрузка зависимостей начинается с корневого composer.json файла проекта, а потом загружаются composer.json файлы плагинов. Другими словами, плагин может добавить новый пакет и не может переопределить пакет корневого composer файла. Эта логика обрабатывается классом ComposerManager .

Примеры composer.json файлов официальных плагинов:

Когда плагин публикуется в OctoberCMS Marketplace, сервер самостоятельно создаёт /vendor папку, поэтому нет необходимости её публиковать, если вы планируете распространять плагин.


Другие записи из подборки «OctoberCMS. Backend.»

Похожие записи

FrontEnd контроллеры в OctoberCMS

В OctoberCMS нет концепции frontEnd контроллеров. Иными словами, идеология этой CMS не подразумевает возможность просто создать некий ProductController с несколькими action для обслуживания маршрутов Route::method('product/{id}', 'ProductController@show'). Вместо этого предлагается использовать компоненты плагинов. Именно компоненты являются формой frontEnd контроллеров.