Добро пожаловать на сайт SEDBY

Используем Composer для разработки модулей и плагинов Cotonti Siena

  • 211 просмотров +1
  • 4 декабря, 2025
  • Обновлено: 14 декабря, 2025
  • admin
  • Время чтения: 5 минут
  • 1 (Подробно)
Используем Composer для разработки модулей и плагинов Cotonti Siena

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

  1. Добавить ее в папку с расширением.
  2. Использовать пакетный менеджер зависимостей Composer из дистрибутива Cotonti Siena.

Откровенно говоря, ни один из вариантов не имеет сколь-нибудь явных преимуществ или недостатков. Добавление библиотеки в расширение может значительно увеличить его размер, но при этом не потребует дополнительных действий при установке. Использование Composer позволит сохранить компактный размер расширения, однако загрузка библиотеки в системную папку /lib потребует однократно выполнить несложную операцию. Преимущество можно получить в следующих ситуациях:

  • библиотеку используют сразу несколько расширений,
  • в проекте присутствуют библиотеки, требующие другие библиотеки,
  • необходимо централизованно обновлять библиотеки (особенно если их несколько или много).

C другой стороны, навык работы с Composer никогда не будет для вас лишним. К тому же, “дополнительные” действия займут не более 1-2 минут. Так что начнем.

Что такое Composer

Composer представляет собой серверный PHP-инструментарий для управления библиотеками (или т. н. зависимостями). Говоря простыми словами, это менеджер, позволяющий устанавливать, обновлять и удалять библиотеки для расширений вашего сайта.

Начиная с версии 0.9.23 Cotonti Siena имеет на борту поддержку менеджера Composer, обеспечивающую стандартное управление библиотеками.

Composer работает на основе принципа “один сайт на Cotonti – один менеджер – один набор зависимостей”. Это означает, что установленные им библиотеки будут доступны только для конкретного сайта.

Как добавить библиотеку на сайт под CMS Cotonti через Composer

Лучший способ объяснить простую вещь – это использовать пример. Так и поступим.

Для оптимизации разработки и тестирования сайтов у меня появилась задача подключить и использовать библиотеку Faker, с помощью которой можно создавать страницы и пользовательские аккаунты в “товарных” количествах. Первый вариант плагина включал в себя "встроенную" библиотеку и работал без особых нареканий. Однако в определенный момент появился вопрос о том, насколько актуальной является версия библиотеки. Он и трансформировался в задачу по использованию менеджера Composer “на борту” CMS Cotonti.

Первым делом авторизуемся на удаленном сервере и проверим наличие Composer. Это можно сделать командой

composer -V

Она выводит номер версии и дату сборки. Примерно так:

Composer version 2.6.4 2023-09-29 10:54:46

Теперь займемся установкой библиотеки Faker. Это можно сделать двумя способами.

Первый способ – с помощью команды require. В нашем примере:

composer require fakerphp/faker

Вы спросите как я узнал параметр с именем библиотеки? Все просто: их можно найти на специализированном ресурсе packagist.org или на сайте поддержки библиотеки:

Команда установки библиотеки с использованием менеджера Composer
Команда установки библиотеки с использованием менеджера Composer

После успешного выполнения команды будут обновлены файлы composer.json и composer.lock в корневом разделе сайта, а сама библиотека будет загружена в папку /lib/vendor.

Иногда (в основном из-за рассогласования версий) требуется ручная установка. Для этого откроем файл composer.json и в раздел require добавим необходимую строку:

"fakerphp/faker": "^1.20"

Теперь обновим наше хранилище:

composer update

Результат выполнения данной команды будет аналогичен composer require:

Установка библиотеки Faker с помощью менеджера зависимостей Composer
Установка библиотеки Faker с помощью менеджера зависимостей Composer

Что делать если параллельно с Composer вы используете Git?

Если вы работаете с сайтом по FTP, данное миниописание можно пропустиить. Для остальных поясним: поскольку установка библиотеки производилась на удаленном сервере, необходимо синхронизировать изменения с текущим репозиторием. Для этого в терминале выполним команду:

git add . && git commit -m 'add composer updates' && git push

После этого выгрузим изменения в локальный репозиторий:

git pull

Это необходимо делать каждый раз при добавлении, обновлении и удалении библиотек.

Подключаем библиотеку из Composer-хранилища

Здесь вам на помощь придет документация разработчика библиотеки. В нашем случае подключение довольно простое:

require_once 'vendor/autoload.php';

… или

require_once 'lib/vendor/fakerphp/faker/src/autoload.php';

Как видим, все просто. Аналогичным образом можно установить, например, фреймворк Bootstrap или библиотеку иконок FontAwesome или другие полезные библиотеки:

composer require twbs/bootstrap:5.3.8
composer require fortawesome/font-awesome

Для просмотра установленных библиотек используем:

composer show

Удалить пакеты можно командой remove:

composer remove twbs/bootstrap:5.3.8
composer remove fortawesome/font-awesome

Composer позаботится о том, чтобы:

  1. удалить указанный пакет из файла composer.json,
  2. физически удалить пакт из папки /lib,
  3. обновить composer.lock и автозагрузчик,
  4. удалить все зависимости, наличие которых больше не требуется.

Если удалять зависимости не требуется, используем опцию --no-update:

composer remove twbs/bootstrap:5.3.8 --no-update

Для ручной деинсталляции удалим соответствующую строку из блока require файла composer.json и запустим команду

composer update

Если необходимо удалить только один из исключенных пакетов, укажем его явно:

composer update twbs/bootstrap:5.3.8

Заключение

В данной публикации мы рассмотрели алгоритм подключения сторонней библиотеки на сайт под управлением CMS Cotonti Siena. Он рабочий, но далеко не единственный, и зависит от настроек вашего рабочего окружения. Если у вас появились вопросы, задавайте их в комментариях или на наших форумах. Постараемся помочь.

Happy coding!

В прошлый раз бы занимались кастомизацией плагина Whosonline из дистрибутива Cotonti Siena.


Комментарии:
Аватар

Предлагаю продолжить обсуждение Composer на форуме

Аватар

Что посоветуете? Не совсем понимаю смысл использования Composer.

Аватар

Composer действительно очень удобен для быстрого развертывания проекта и прототипирования. А в библиотеках стоит покопаться - есть много интересного и полезного для webdev.


Новый комментарий

Ваш комментарий будет доступен для редактирования 10 минут
Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость