Потрясающий композитор
Кураторский список ресурсов для Composer, Packagist, Satis, плагинов, сценариев, видео и учебных пособий.
Вам также может понравиться Awesome-php.
Прежде чем вносить вклад, пожалуйста, прочтите правила внесения взносов.
Композитор
- Официальный сайт
- GitHub
- Проблемы
- Источник
- Документация
- Руководство по началу работы и инструкции по установке
- Найдите пакеты на Packagist
- Шпаргалка — обзор команд CLI и схемы
composer.json
. - Установщики Composer — установщики Composer для нескольких платформ.
Поддерживать
Переполнение стека
- Вы можете использовать следующие теги:
composer-php
, packagist
, satis
+ php
. - Задать новый вопрос
- Найдите вопросы с тегами
composer-php
IRC
- IRC-каналы находятся на
irc.freenode.org
: #composer для пользователей и #composer-dev для разработчиков.
Плагины
- Документация для плагинов. Эта официальная документация является хорошей отправной точкой при написании плагина Composer.
- Composer-Asset-Plugin — менеджер зависимостей npm/Bower для Composer.
- Composer-AWS — плагин загружает данные репозитория и загружает пакеты с Amazon S3 (с поддержкой аутентификации для частных репозиториев).
- Composer-Composition — предоставляет API для проверки вашей среды во время выполнения.
- Composer-Suggest — позволяет установить пользовательскую группу предлагаемых пакетов на основе шаблонов ключевых слов.
- Composer-Versions-Check — показывает устаревшие пакеты из последних основных версий после использования команды обновления (показывает «Последний — vX.YZ»).
- Composer-Changelogs — предоставляет сводку обновлений со ссылками на журнал изменений/заметку о выпуске/тег. Вывод готов к вставке в сообщение фиксации при обновлении файла композитора.lock.
- Composer-Merge-Plugin — объединяет несколько файлов
composer.json
во время выполнения Composer. - Composer-Bin-Plugin — добавляет поддержку управления зависимостями для нескольких пакетов в одном репозитории или изолирует зависимости bin.
- Composer-Inheritance-Plugin — авторизованная версия плагина-слияния Wikimedia для работы в паре с плагином-композитором Bamarni.
- Composer-MonoRepo-Plugin — плагин помогает управлять зависимостями для нескольких пакетов в одном репозитории.
- Composer-Patches-Plugin — позволяет предоставлять исправления для любого пакета из любого пакета. Когда зависимость извлекается, патч применяется поверх нее.
- Composer-Patches — плагин применяет патч из локального или удаленного файла к любому необходимому пакету.
- Composer-Patches — применяет патч из локального или удаленного файла к любому пакету, который является частью данного проекта композитора.
- Composer-Patchset — автоматически извлекает, обновляет и применяет исправления к любому пакету композитора, сохраняя набор исправлений как сам пакет композитора.
- Composer-Plugin-QA — комплексный плагин для композитора, позволяющий использовать инструменты обеспечения качества PHP.
- Composer-Cleanup-Plugin — удаляет папки тестов и документации из каталога поставщика.
- Composer-Cleaner — инструмент удаляет ненужные файлы и каталоги из каталога поставщика.
- Composer-Ignore-Plugin — позволяет удалять файлы и папки из папки поставщика (чтобы обеспечить более чистое и компактное развертывание в рабочей среде). Это альтернатива
.gitattributes
. - Composer-Vendor-Cleaner — плагин удаляет ненужные файлы и каталоги разработки из каталога
vendor
с помощью синтаксиса шаблона glob. - Composer-Skrub — плагин помогает удалять ненужные файлы из установок Composer и обрезать размеры сборок.
- Плагин Drupal Vendor Hardening Composer — удаляет посторонние каталоги из каталога поставщика проекта и добавляет файлы .htaccess и web.config в корень каталога поставщика проекта.
- Composer-Shared-Package-Plugin — позволяет вам делиться выбранными пакетами между вашими проектами, создавая символические ссылки.
- Composer-Symlinker — позволяет загружать пакеты из разных каталогов (вместо загрузки их из /vendor).
- Prestissimo — параллельный загрузчик, использующий
phpext_curl
. - Composer-Curl-Plugin — плагин использует
phpext_curl
для загрузки пакетов. - Composer-Custom-Directory-Installer — плагин композитора для установки различных типов пакетов композитора в пользовательские каталоги за пределами пути установки композитора по умолчанию (папка поставщика).
- Composer-Dependency-Analyzer — плагин помогает находить проблемы с зависимостями, включая мертвые, неиспользуемые, теневые и неуместные зависимости.
- Composer-Dependency-Analyzer — позволяет построить график зависимостей для установленного проекта композитора.
- Graph-Composer — обеспечивает визуализацию графика для
composer.json
вашего проекта и его зависимостей. - PackageVersions — обеспечивает очень быстрый и простой доступ к установленным версиям зависимостей композитора.
- PackageVersions устарел — это ответвление Ocramius/PackageVersions, обеспечивающее совместимость с Composer 1 и 2 на PHP 7+.
- Composer-Locator — предоставляет средства поиска пути установки для данного имени пакета Composer.
- PackageInfo — позволяет получить всю информацию о пакете (например, версию, тег, дату выпуска, описание).
- Composer-Git-Hooks — библиотека для простого управления git-хуками в вашей конфигурации композитора.
- Symfony-Flex — обеспечивает установку и управление конфигурацией пакетов Symfony на основе рецептов.
- Narrowspark-Automatic — автоматизирует наиболее распространенные задачи приложений, ускоряет загрузку пакетов, добавляет аудит безопасности композитора и многое другое.
- PHPCodeSniffer-Composer-Installer — плагин позволяет устанавливать стандарты кодирования PHP_CodeSniffer (наборы правил).
- Composer-Warmup — плагин добавляет в Composer командный код
warmup-opcode
, который запускает компиляцию всех PHP-файлов, обнаруженных в вашем проекте, в Opcache. - Foxy — плагин Composer, который выполняет операции установки пакетов npm/yarn, когда пакет композитора установлен или обновлен.
- NodeJS-Installer — установщик для Node.js и npm.
- Node-Composer — установщик для Node.js, npm и Yarn.
- Imposter-Plugin — упаковка всех пакетов поставщиков композиторов в ваше собственное пространство имен. Предназначен для плагинов WordPress.
- Предварительная загрузка Composer. Плагин генерирует
vendor/preload.php
для разогрева Opcache. - PHP Inc — автоматически включает файлы для автозагрузки и autoload-dev, чтобы облегчить использование функций и сгруппированных определений в приложениях, загружаемых композитором.
- Диспетчер реестра Composer — позволяет переключаться между различными репозиториями композиторов.
- Production-Dependologies-Guard — предотвращает добавление пакетов разработки в require и попадание в производственную среду.
- Composer-Plugin-Exclude-Files — плагин для исключения файлов, необходимых пакетам, с использованием механизма автозагрузки файлов.
- Composer-Downloads-Plugin — упрощенный механизм загрузки внешних ресурсов (файлов ZIP/TAR) с указанием только
url
и path
. - Private-Composer-Installer — установите вспомогательный аутсорсинг конфиденциальных ключей из URL-адреса пакета в переменные среды.
- CycloneDX-PHP-Composer — создает CycloneDX «Спецификация программного обеспечения» (SBOM) для зависимостей проекта. SBOM обеспечивает мониторинг зависимостей и анализ рисков с помощью OWASP DependencyTrack.
- Composer-Compile-Plugin — позволяет библиотекам PHP определять простые задачи компиляции произвольной формы. Поддержка перехватчиков после установки в любом пакете.
- Composer-Link — добавляет возможность связывать локальные пакеты для разработки.
- Composer-REPL — плагин предоставляет команду
composer repl
, которая предоставляет вам языковую оболочку PHP (цикл чтения-оценки-печати). - Composer-Diff — сравнивает изменения
composer.lock
и генерирует отчет Markdown для использования в описании запроса на включение. - Composer-Velocita — быстрая и надежная загрузка пакетов Composer с использованием Velocita: обратного кеширующего прокси-сервера, который не требует изменения ваших проектов.
Инструменты
- Composer SemVer Checker — позволяет выявлять ограничения, связанные с проблемами разрешения версий, выполняя семантическую проверку версии для пакетов, размещенных на Packagist.
- Composer-Yaml — этот инструмент преобразует
composer.yml
в composer.json
. - Studio — рабочая среда для разработки пакетов Composer. Это альтернатива редактированию зависимостей в папке поставщика или использованию PathRepositories для загрузки локального клона вашей зависимости в ваш проект.
- Расширение браузера OctoLinker — позволяет перемещаться по зависимостям Composer/NPM на GitHub.
- ComposerRequireChecker — инструмент CLI для анализа зависимостей и проверки отсутствия неизвестных импортированных символов в источниках пакета.
- Composer-Unused — инструмент CLI, который сканирует ваш код и показывает неиспользуемые зависимости Composer.
- Composer-Normalize — плагин помогает поддерживать согласованность файлов
composer.json
путем реструктуризации и сортировки записей (нормализации). - Composer-Service — позволяет запускать Composer как службу на удаленном сервере.
- Composer PreferLowest Checker — строго сравните указанные минимальные версии вашего композитора.json с теми, которые фактически используются опцией команды обновления композитора «prefer-lowest».
- Bramus/Composer-Autocomplete — скрипт автозаполнения Bash/Shell для Composer.
- Composer/Xdebug-Handler — помогает перезапустить процесс CLI без загрузки расширения xdebug.
- Composer Semver Range Checker — инструмент, помогающий проверить допустимые диапазоны ограничения композитора.
Скрипты
- ПараметрHandler — позволяет управлять игнорируемыми параметрами при запуске установки или обновления композитора.
- Tooly — управляйте необходимыми файлами PHAR в вашем проекте
composer.json
. Каждый файл PHAR будет сохранен в двоичном каталоге композитора. Опционально с проверкой GPG для каждого PHAR. - Мелодия — однофайловые композиторские скрипты.
- Composer-Travis-Lint — позволяет анализировать файл конфигурации Travis CI (
.travis.yml
). - Composer-Multitest — позволяет запускать скрипт Composer для нескольких локально установленных версий PHP, которые управляются PHPBrew или phpenv.
- ScriptsDev — позволяет использовать раздел
scripts-dev
, который запускает сценарии только в режиме разработки. - PhantomJS-Installer — пакет Composer, который устанавливает двоичный файл PhantomJS (Linux, Windows, Mac) в /bin вашего проекта.
- Composer-Vendor-Cleanup — скрипт, который удаляет ненужные файлы из белого списка (например, тесты/документы и т. д.) из каталога поставщика.
- Composer-Substitution-Plugin — плагин Composer, заменяющий заполнители в разделе
scripts
динамическими значениями.
Услуги
- Dependabot — Dependabot — это служба обновления зависимостей. Он отслеживает и обновляет ваши зависимости, отправляя запрос на включение. Услуга бесплатна для публичных репозиториев и репозиториев личных аккаунтов.
Учебники
- Руководство для начинающих по Composer
- Короткое и простое руководство по Composer
- Простое управление пакетами с помощью Composer
- Управление зависимостями PHP с помощью Composer
- Композитор Букварь
- Учебное пособие по PHP Composer Magento от Алана Сторма
- Создание и использование пакетов Composer
Блоги
- Хорди Богджано (Сельдаек)
- Нильс Адерманн (Надерман)
- Флаги стабильности Composer
- Управление версиями композитора
- Долгий путь к созданию эффективного и быстрого использования памяти PHP Composer (toflar)
Видео
- Лучшие практики композиторов 2018 года – Нильс Адерманн @ scotphp18
- Лучшие практики композиторов 2018 года – Нильс Адерманн @ phpday 2018
- Управление зависимостями — это больше, чем просто запуск «обновления композитора» — Нильс Адерманн @ phpsrb17
- Лучшие практики композитора — Хорди Богджано @ phptek 2015
- Чудесный мир композитора
- Краткое руководство по PHP Composer
- Как Composer помог сформировать новый способ написания PHP - Нильс Адерманн @ Drupal Camp Frankfurt
- Управление пакетами Composer — Нильс Адерманн @ T3CON12DE
- Композитор 2 — Хорди Богджано @ Группа пользователей Symfony UK 2020
- Уроки, извлеченные из построения внутренних компонентов Composer - Хорди Богджано @ CODEiD Одесская PHP-конференция 2017
Слайды
- Слайды Нильса Адерманна
- Источник: https://naderman.de/slippy/src/
- PHP заново: как Composer помог сформировать новый способ написания PHP
- Обновление композитора
- Управление зависимостями с помощью Composer: новое изобретение PHP
- Управление зависимостями — это больше, чем просто запуск «обновления композитора».
- Лучшие практики композитора @ T3DD17
- Получите контроль над своими зависимостями с помощью Private Packagist
- Composer.lock раскрыт
- Подробные сведения о Compoer на Contao Konferenz 2018
- Лучшие практики для композиторов 2018 года
- Разработка и развертывание Magento с использованием лучших практик Composer
- Конфигурация платформы Composer (check-platform-reqs) @ SymfonCon 2018
- Слайды от Хорди Богджано
- Источник: http://slides.seld.be/
- Управление зависимостями с помощью Composer (2013)
- В глубине души с композитором (2013)
- Лучшие композиторские практики (2015)
- Введение в композитор (2015)
- Композитор 2016 года.
- Извлеченные уроки по созданию внутреннего устройства Composer (2018)
Упаковщик
Packagist — это репозиторий пакетов PHP.
Настройка зеркала Packagist
- Зеркало Packagist — этот скрипт помогает настроить зеркало Packagist. Это поддерживаемая и стабильная версия Packagist Crawler.
- Образ Docker. Этот образ Docker помогает создать настраиваемое зеркало упаковщика.
- Packagist Mirror из Индонезии — еще одна реализация создания зеркала Packagist.
Зеркала упаковщика
О зеркалах метаданных: https://packagist.org/mirrors.
- Северная Америка
- Канада - packagegist.org Главное зеркало
- Южная Америка
- Бразилия - packagegist.com.br
- Африка
- Южная Африка - packagegist.co.za
- Азия
- Китай - https://pkg.xyz/, https://developer.aliyun.com/composer
- Индия - https://packagist.in/
- Япония - packagegist.jp
- Корея - https://packagist.kr/
Репозитории композиторов
Менеджер реестра
- https://github.com/slince/composer-registry-manager — Плагин помогает переключаться между различными репозиториями композиторов.
Частные репозитории
- fxpio/tug — позволяет разместить частный реестр Composer на AWS Serverless, обслуживающий ваши частные пакеты PHP, размещенные в сервисах GitHub или GitLab.
Частный упаковщик
- Private Packagist Cloud — репозиторий Composer как услуга для частных пакетов и зеркалирования пакетов из других репозиториев.
- Private Packagist Enterprise — локальная версия Private Packagist.
- Клиент API Private Packagist — PHP-клиент для API Private Packagist. Клиент управляет аутентификацией, генерацией подписи и доступом ко всем конечным точкам.
Репман
- Repman.io и Repman-io/repman — менеджер частного репозитория пакетов PHP и прокси-сервер Packagist.
- Repman-io/composer-plugin — этот плагин позволяет загружать через Repman, добавляя URL-адрес зеркала распространения для всех ваших зависимостей (без необходимости обновлять файл
composer.lock
).
Репозитории, совместимые с Packagist
- WordPress Packagist — зеркально отображает каталоги плагинов и тем WordPress в качестве репозитория Composer.
- Asset Packagist — позволяет устанавливать пакеты Bower и NPM как собственные пакеты Composer.
- Firegento — репозиторий Composer, предоставляющий модули Magento.
- Drupal Packagist — репозитории Composer для ядра, модулей и тем Drupal 7 и 8.
- Сервер Satis. Этот док-контейнер предоставляет сервер Satis и позволяет запускать частный автономный репозиторий Composer с поддержкой Git, Mercurial и Subversion, HTTP API, поддержкой HTTPs, обработчиком веб-перехватчика и запланированными сборками.
- Cloudsmith — полностью управляемое SaaS-решение для управления пакетами с поддержкой PHP/Composer (и многих других).
- Release Belt — реализация собственного репозитория Composer для быстрой интеграции ZIP-файлов сторонних выпусков, не относящихся к Composer.
- Packeton — частный репозиторий Composer для поставщиков. Форк packagegist с добавлением поддержки авторизации, пользователей клиентов, групп, вебхуков.
Сатис
- GitLab-Composer — индексатор веток/тегов для репозиториев GitLab.
- Satisfy — менеджер репозитория композиторов Satis с веб-интерфейсом.
- Панель управления Satis — простой веб-интерфейс для управления репозиторием Satis с дополнительной интеграцией CI.
- Satis Go — веб-сервер для управления конфигурацией Satis и размещения созданного репозитория Composer.
Торан Прокси
- ToranProxy (устарело). Помимо предоставления репозитория композитора, ToranProxy действует как прокси-сервер для Packagist и GitHub.
Авторское право
Насколько это возможно по закону, Йенс А. Кох отказался от всех авторских и смежных прав на это произведение.