Compositor incrível
Uma lista selecionada de recursos para Composer, Packagist, Satis, Plugins, Scripts, Videos, Tutorials.
Você também pode gostar de awesome-php.
Por favor, leia as diretrizes de contribuição antes de contribuir.
Compositor
- Site Oficial
- GitHub
- Problemas
- Fonte
- Documentação
- Guia de primeiros passos e instruções de instalação
- Encontre pacotes no Packagist
- CheatSheet – Visão geral dos comandos CLI e do esquema
composer.json
. - Instaladores do Composer - Instaladores do Composer para vários frameworks.
Apoiar
Estouro de pilha
- Você pode usar as seguintes tags:
composer-php
, packagist
, satis
+ php
. - Faça uma nova pergunta
- Encontre perguntas marcadas como
composer-php
IRC
- Os canais de IRC estão em
irc.freenode.org
: #composer para usuários e #composer-dev para desenvolvimento.
Plug-ins
- Documentação para Plugins - Esta documentação oficial é um bom ponto de partida ao escrever um plugin do Composer.
- Composer-Asset-Plugin - Um gerenciador de dependências npm/Bower para Composer.
- Composer-AWS – O plugin carrega dados do repositório e baixa pacotes do Amazon S3 (com suporte de autenticação para repositórios privados).
- Composer-Composition - Fornece uma API para verificar seu ambiente em tempo de execução.
- Composer-Suggest - Permite instalar um grupo personalizado de pacotes sugeridos, com base em padrões de palavras-chave.
- Composer-Versions-Check - Mostra pacotes desatualizados das últimas versões principais após usar o comando de atualização (mostrando "O mais recente é vX.YZ").
- Composer-Changelogs - Fornece um resumo das atualizações com links para changelog/releasenote/tag. A saída está pronta para ser colada na mensagem de commit ao atualizar o arquivo compositor.lock.
- Composer-Merge-Plugin - Mescla vários arquivos
composer.json
no tempo de execução do Composer. - Composer-Bin-Plugin - Adiciona suporte para gerenciar dependências para vários pacotes em um único repositório ou isolar dependências bin.
- Composer-Inheritance-Plugin - Versão opinativa do Wikimedia compositor-merge-plugin para trabalhar em par com Bamarni compositor-bin-plugin.
- Composer-MonoRepo-Plugin – O plugin ajuda a gerenciar dependências de vários pacotes em um único repositório.
- Composer-Patches-Plugin - Permite fornecer patches para qualquer pacote de qualquer pacote. Quando a dependência é buscada, o patch é aplicado por cima.
- Composer-Patches - O plugin aplica um patch de um arquivo local ou remoto a qualquer pacote necessário.
- Composer-Patches - Aplica um patch de um arquivo local ou remoto a qualquer pacote que faça parte de um determinado projeto do compositor.
- Composer-Patchset - Busque, atualize e aplique patches automaticamente a qualquer pacote do compositor com um toque diferente - armazene o patchset como um pacote do próprio compositor.
- Composer-Plugin-QA - Plugin abrangente para o compositor executar ferramentas de garantia de qualidade PHP.
- Composer-Cleanup-Plugin - Remove pastas de testes e documentação do diretório do fornecedor.
- Composer-Cleaner - A ferramenta remove arquivos e diretórios desnecessários do diretório do fornecedor.
- Composer-Ignore-Plugin - Permite remover arquivos e pastas da pasta do fornecedor (para fazer uma implantação mais limpa e menor na produção). É uma alternativa para
.gitattributes
. - Composer-Vendor-Cleaner - O plug-in remove arquivos e diretórios de desenvolvimento desnecessários do diretório
vendor
por meio da sintaxe do padrão glob. - Composer-Skrub - O plugin ajuda a remover lixo das instalações do Composer e reduzir tamanhos de compilação.
- Drupal Vendor Hardening Composer Plugin - Remove diretórios estranhos do diretório de fornecedores do projeto e adiciona arquivos .htaccess e web.config à raiz do diretório de fornecedores do projeto.
- Composer-Shared-Package-Plugin - Permite compartilhar pacotes selecionados entre seus projetos criando links simbólicos.
- Composer-Symlinker - Permite carregar pacotes de diferentes diretórios (em vez de carregá-los de /vendor).
- Prestissimo - Um downloader paralelo usando
phpext_curl
. - Composer-Curl-Plugin – O plugin usa
phpext_curl
para baixar pacotes. - Composer-Custom-Directory-Installer - Um plugin do compositor, para instalar diferentes tipos de pacotes do compositor em diretórios personalizados fora do caminho de instalação padrão do compositor (pasta do fornecedor).
- Composer-Dependency-Analyzer - O plugin ajuda a encontrar problemas de dependência, incluindo dependências mortas, não utilizadas, sombras e mal colocadas.
- Composer-Dependency-Analyzer - Permite construir um gráfico de dependência para um projeto do compositor instalado.
- Graph-Composer - Fornece uma visualização gráfica para o
composer.json
do seu projeto e suas dependências. - PackageVersions - Fornece um acesso muito rápido e fácil às versões de dependência do compositor instaladas.
- PackageVersions Deprecated - É um fork do Ocramius/PackageVersions que fornece compatibilidade com Composer 1 e 2 no PHP 7+.
- Composer-Locator - Fornece um meio de localizar o caminho de instalação para um determinado nome de pacote do Composer.
- PackageInfo - Permite recuperar todas as informações do pacote (como versão, tag, data de lançamento, descrição).
- Composer-Git-Hooks - Uma biblioteca para gerenciar facilmente git hooks na configuração do seu compositor.
- Symfony-Flex - Fornece instalação baseada em receita e gerenciamento de configuração para pacotes Symfony.
- Narrowspark-Automatic – Automatiza as tarefas mais comuns dos aplicativos, aumenta os downloads de pacotes, adiciona uma auditoria de segurança do compositor e muito mais.
- PHPCodeSniffer-Composer-Installer - O plugin permite que você instale padrões de codificação PHP_CodeSniffer (conjuntos de regras).
- Composer-Warmup - O plugin adiciona o comando
warmup-opcode
ao Composer, que aciona a compilação de todos os arquivos PHP descobertos em seu projeto no Opcache. - Foxy - Plugin do Composer que executa operações de instalação de pacotes npm/yarn, quando o pacote do compositor é instalado ou atualizado.
- NodeJS-Installer - Instalador para Node.js e npm.
- Node-Composer - Instalador para Node.js, npm e yarn.
- Imposter-Plugin - Colocando todos os pacotes do fornecedor do compositor dentro de seu próprio namespace. Destinado a plug-ins do WordPress.
- Composer Preload - O plugin gera um arquivo
vendor/preload.php
para aquecer o Opcache. - PHP Inc - Inclui automaticamente arquivos para autoload e autoload-dev para facilitar o uso de funções e definições agrupadas em aplicativos carregados pelo compositor.
- Composer Registry Manager - Permite alternar entre diferentes repositórios do compositor.
- Production-Dependencies-Guard - Impede que pacotes de desenvolvimento sejam adicionados ao require e entrem no ambiente de produção.
- Composer-Plugin-Exclude-Files - Um plugin para excluir arquivos exigidos por pacotes usando o mecanismo de carregamento automático de 'arquivos'.
- Composer-Downloads-Plugin - Mecanismo leve para baixar recursos externos (arquivos ZIP/TAR) com apenas uma
url
e path
. - Private-Composer-Installer - Instale chaves confidenciais de terceirização auxiliar da URL do pacote em variáveis de ambiente.
- CycloneDX-PHP-Composer - Cria uma "lista de materiais de software" (SBOM) CycloneDX para as dependências de um projeto. O SBOM permite monitoramento de dependência e análise de risco pelo OWASP DependencyTrack.
- Composer-Compile-Plugin - Permite que bibliotecas PHP definam tarefas de compilação simples e de forma livre. Suporta ganchos pós-instalação em qualquer pacote.
- Composer-Link – Adiciona a capacidade de vincular pacotes locais para desenvolvimento.
- Composer-REPL - O plugin fornece o comando
composer repl
, que fornece um shell de linguagem PHP (loop read-eval-print). - Composer-Diff - Compara as alterações
composer.lock
e gera um relatório Markdown para uso em uma descrição de pull request. - Composer-Velocita - Downloads rápidos e confiáveis de pacotes do Composer usando Velocita: um proxy reverso de cache que não exige que você modifique seus projetos.
Ferramentas
- Composer SemVer Checker - Permite identificar restrições para problemas de resolução de versão, fazendo uma verificação semântica de versão para pacotes hospedados no Packagist.
- Composer-Yaml – Esta ferramenta converte
composer.yml
em composer.json
. - Studio - Um ambiente de trabalho para desenvolver pacotes do Composer. É uma alternativa para editar dependências na pasta do fornecedor ou usar PathRepositories para carregar um clone local de sua dependência em seu projeto.
- Extensão do navegador OctoLinker - permite navegar pelas dependências do Composer/NPM no GitHub.
- ComposerRequireChecker – Uma ferramenta CLI para analisar dependências e verificar se nenhum símbolo importado desconhecido é usado nas fontes de um pacote.
- Composer-Unused - Uma ferramenta CLI, que verifica seu código e mostra dependências não utilizadas do Composer.
- Composer-Normalize - O plugin ajuda a manter seu(s) arquivo(s)
composer.json
consistente(s) reestruturando e classificando as entradas (normalizando). - Composer-Service - Permite executar o Composer como um serviço em um servidor remoto.
- Composer PreferLowest Checker - Compare estritamente as versões mínimas especificadas de seu compositor.json com aquelas realmente usadas pela opção de comando prefer-lowest compositor update.
- Bramus/Composer-Autocomplete - Um script de preenchimento automático Bash/Shell para Composer.
- Composer/Xdebug-Handler – Ajuda você a reiniciar um processo CLI sem carregar a extensão xdebug.
- Composer Semver Range Checker - Uma ferramenta para ajudar a verificar os intervalos satisfatórios de uma restrição do compositor.
Roteiros
- ParameterHandler - Permite gerenciar seus parâmetros ignorados ao executar uma instalação ou atualização do compositor.
- Tooly - Gerencie os arquivos PHAR necessários em seu projeto
composer.json
. Cada arquivo PHAR será salvo no diretório binário do compositor. Opcional com verificação GPG para cada PHAR. - Melody - Scripts de composição de um arquivo.
- Composer-Travis-Lint - Permite lint o arquivo de configuração do Travis CI (
.travis.yml
). - Composer-Multitest - Permite executar um script do Composer em várias versões PHP instaladas localmente, que são gerenciadas pelo PHPBrew ou phpenv.
- ScriptsDev – Permite usar uma seção
scripts-dev
, que aciona scripts apenas no modo dev. - PhantomJS-Installer - Um pacote Composer que instala o binário PhantomJS (Linux, Windows, Mac) em /bin do seu projeto.
- Composer-Vendor-Cleanup - Um script que remove arquivos desnecessários da lista de permissões (como testes/docs etc.) do diretório do fornecedor.
- Composer-Substitution-Plugin - Um plugin do Composer que substitui espaços reservados na seção
scripts
por valores dinâmicos.
Serviços
- Dependabot - Dependabot é um serviço de atualização de dependências. Ele monitora e atualiza suas dependências enviando uma solicitação pull. O serviço é gratuito para repositórios públicos e repositórios de contas pessoais.
Tutoriais
- Um guia para iniciantes no Composer
- Um tutorial curto e simples do Composer
- Fácil gerenciamento de pacotes com o Composer
- Gerenciamento de Dependências PHP com Composer
- Cartilha do Compositor
- Tutorial do PHP Composer Magento por Alan Storm
- Criando e usando pacotes do Composer
Blogues
- Jordi Boggiano (seldaek)
- Nils Adermann (naderman)
- Sinalizadores de estabilidade do compositor
- Controle de versão do compositor
- A longa jornada para tornar o PHPs Composer rápido e eficiente em termos de memória (toflar)
Vídeos
- Melhores práticas para compositores 2018 - Nils Adermann @ scotphp18
- Melhores práticas do compositor 2018 - Nils Adermann @ phpday 2018
- Gerenciar dependências é mais do que executar "atualização do compositor" - Nils Adermann @ phpsrb17
- Melhores práticas para compositores - Jordi Boggiano @ phptek 2015
- Maravilhoso mundo do compositor
- Guia de início rápido do PHP Composer
- Como o Composer ajudou a moldar a nova maneira de escrever PHP - Nils Adermann @ Drupal Camp Frankfurt
- Gerenciamento de pacotes do Composer - Nils Adermann @ T3CON12DE
- Compositor 2 - Jordi Boggiano @ grupo de usuários Symfony UK 2020
- Lições aprendidas construindo os componentes internos do Composer - Jordi Boggiano @ CODEiD Odessa PHP Conference 2017
Apresentações
- Diapositivos de Nils Adermann
- Fonte: https://naderman.de/slippy/src/
- PHP Reinventado - Como o Composer ajudou a moldar a nova maneira de escrever PHP
- Atualização do compositor
- Gerenciamento de Dependências com Composer PHP Reinventado
- Gerenciar dependências é mais do que executar "atualização do compositor"
- Melhores práticas do compositor @ T3DD17
- Obtenha controle sobre suas dependências com o Private Packagist
- Composer.lock desmistificado
- Compoer In-Depth @ Contao Konferenz 2018
- Melhores práticas do compositor 2018
- Desenvolvendo e implantando Magento com as melhores práticas do Composer
- Configuração da plataforma Composer (check-platform-reqs) @ SymfonCon 2018
- Slides de Jordi Boggiano
- Fonte: http://slides.seld.be/
- Gerenciamento de Dependências com Composer (2013)
- Em profundidade com o compositor (2013)
- Melhores práticas do compositor (2015)
- Introdução ao Compositor (2015)
- Compositor em 2016
- Lições aprendidas construindo os componentes internos do Composer (2018)
Empacotador
Packagist é o repositório de pacotes PHP.
Configure um espelho Packagist
- Espelho Packagista - Este script ajuda a configurar um espelho packagista. É a versão mantida e estável do Packagist Crawler.
- Imagem Docker - Esta imagem Docker ajuda a criar um espelho packagista personalizado.
- Espelho Packagista da Indonésia - Outra implementação para criar um espelho packagista.
Espelhos Packagistas
Sobre espelhos de metadados: https://packagist.org/mirrors
- América do Norte
- Canadá - packagist.org Espelho principal
- Ámérica do Sul
- Brasil - packagist.com.br
- África
- África do Sul - packagist.co.za
- Ásia
- China - https://pkg.xyz/, https://developer.aliyun.com/composer
- Índia - https://packagist.in/
- Japão - packagist.jp
- Coreia - https://packagist.kr/
Repositórios do compositor
Gerenciador de registro
- https://github.com/slince/composer-registry-manager - O plugin ajuda você a alternar entre diferentes repositórios do compositor.
Repositórios privados
- fxpio/tug – permite hospedar um registro privado do Composer no AWS Serverless, atendendo seus pacotes PHP privados, que são hospedados nos serviços GitHub ou GitLab.
Embalador Privado
- Private Packagist Cloud - Um repositório Composer como serviço para pacotes privados e para espelhar pacotes de outros repositórios.
- Private Packagist Enterprise – versão local auto-hospedada do Private Packagist.
- Cliente API Private Packagist - Um cliente PHP para a API Private Packagist. O cliente lida com autenticação, geração de assinatura e acesso a todos os endpoints.
Repman
- repman.io & repman-io/repman - Um gerenciador de repositório de pacotes PHP privado e proxy Packagist.
- repman-io/composer-plugin - Este plugin permite o download via Repman adicionando um URL espelho de distribuição para todas as suas dependências (sem necessidade de atualizar o arquivo
composer.lock
).
Repositórios compatíveis com Packagist
- WordPress Packagist - Espelha o plugin do WordPress e os diretórios de temas como um repositório do Composer.
- Asset Packagist - Permite a instalação de pacotes Bower e NPM como pacotes nativos do Composer.
- Firegento - Um repositório do Composer que fornece módulos Magento.
- Drupal Packagist - Repositórios do Composer para núcleos, módulos e temas do Drupal 7 e 8.
- Servidor Satis - Este contêiner docker fornece um servidor Satis e permite que você execute um repositório Composer privado e auto-hospedado com suporte para Git, Mercurial e Subversion, API HTTP, suporte HTTPs, manipulador de webhook e compilações agendadas.
- Cloudsmith - Um SaaS de gerenciamento de pacotes totalmente gerenciado com suporte PHP/Composer (e muitos outros).
- Release Belt - Implementação de repositório auto-hospedado do Composer para integrar rapidamente arquivos ZIP de versões de terceiros que não são do Composer.
- Packeton - Repositório privado auto-hospedado do Composer para fornecedores. Fork do packagist com adição de suporte para autorização, usuários de clientes, grupos, webhooks.
Satisfeito
- GitLab-Composer - Este é um indexador de branch/tag para repositórios GitLab.
- Satisfy - Gerenciador de repositório do compositor Satis com uma interface da Web.
- Painel de controle Satis - Uma interface web simples para gerenciar seu Repositório Satis com integração CI opcional.
- Satis Go - Um servidor web para gerenciar a configuração do Satis e hospedar o repositório Composer gerado.
Procurador Toran
- ToranProxy (obsoleto) - Além de fornecer um repositório de compositores, o ToranProxy atua como um servidor proxy para Packagist e GitHub.
Direitos autorais
Na medida do possível por lei, Jens A. Koch renunciou a todos os direitos autorais e direitos relacionados ou conexos a esta obra.