O documento descreve o Composer, uma ferramenta para gestão de dependências em projetos PHP. Ele explica o que é o Composer, como ele funciona e como pode ajudar no desenvolvimento de projetos PHP, garantindo que todas as dependências estejam nas mesmas versões em diferentes ambientes.
7. SITUAÇÃO-PROBLEMA
Todos da equipe precisam ter versões
consistentes das dependências do
projeto
Tanto em Dev
quanto nos
outros
Ambientes
Mesmo se houver
diferentes projetos
rodando em paralelo com
dependências “quase
iguais” ou conflitantes
8. COMPOSER: O QUE É?
• Por projeto
• Lista consistente de dependências e versões
• (composer.json)
• Forma consistente de distribuir bibliotecas
• Packagist.org
qualifica e clarifica
ambiente do seu projeto
simplifica e padroniza a listagem
repositório central
12. COMPOSER: COMO?
• Criando seu projeto subdependências
resolvidas pelo
composer
} dependência que você havia listado
}
13. COMPOSER: COMO?
• Seu projeto usando um esqueleto
• traz as dependências (/vendor)
• e alguma estrutura de pastas, ex:
• /web
• /src
agiliza bootstrap de uma nova
aplicação
15. COMPOSER: COMO?
• Na equipe, além do composer.json:
• composer.lock
garante que suas
dependências e suas
subdependências
estão exatamente nas
mesmas versões
16. COMPOSER: COMO?
• Liberando sua biblioteca
seu pacote pode ser
autocarregado pelo
vendor/autoload.php
mesmo se ele ainda não seguir
a PSR-0
você e seu pacote
como vendor/terceiro
de outros (ou de você
mesmo)
17. COMPOSER: COMO?
• Liberando sua biblioteca
restringe o ambiente
onde sua biblioteca
funciona (não faça seu
usuário perder tempo)
coisas que não precisam ser
colocadas em produção
18. nome completo do seu componente:
“vendor/package”
seja encontrável
{
facilite a decisão
jurídica do seu
usuário
versão do PHP que o
componente suporta
20. MAIS UMA COISA
(OU 2 OU 3...)
https://github.com/composer/installers
componentes
específicos para
frameworks
21. MAIS UMA COISA
(OU 2 OU 3...)
Para não dizer que não falei
deVagrant
https://github.com/puphpet/puphpet-composer
instala a ferramenta
de linha de comando
+ as dependências
22. MAIS UMA COISA
(OU 2 OU 3...)
https://github.com/robloach/component-installer
gerencia
dependências de
front-end
concorrente do
http://bower.io ?
23. MAIS
• http://getcomposer.org
• docs
• book.pdf
• github
• Rafael Dohms: @rdohms
• Composer: putting dependencies
on the score
• http://www.slideshare.net/rdohms
• Jordi Boggiano: @seldaek
• Dependency Management with Composer
• In-Depth with Composer
• http://slides.seld.be/
brasileiro
que já
falou no
mundo
todo
• https://packagist.org/
• consuma
• compartilhe
um dos
criadores