COMPOSER
PARA GESTÃO DE
DEPENDÊNCIAS
Rogério Prado de Jesus
Encontro PHP - Season
Julho 2013
QUEM SOU EU?
• @rogeriopradoj - Rogério Prado de Jesus
• PHP desde 2009
• blog: rogeriopradoj.com
• Grupo de usuários:
QUEM SOU EU?
• @rogeriopradoj - Rogério Prado de Jesus
• Comunidade -> leva à evolução
• eventos
• contribuições
• bate-pa...
VAMOS FALAR DE COMPOSER...
.. E COMO ELE PODE
AJUDAR SEU PROCESSO
DE DESENVOLVIMENTO
COMPOSER: O QUE É?
Ferramenta...
...para
Gestão...
...de dependências
em projetos PHP
ProjetoSistema
Rígido Aberto
Principais diferenças (onde o Composer
leva vantagem sobre a PEAR)
SITUAÇÃO-PROBLEMA
Todos da equipe precisam ter versões
consistentes das dependências do
projeto
Tanto em Dev
quanto nos
ou...
COMPOSER: O QUE É?
• Por projeto
• Lista consistente de dependências e versões
• (composer.json)
• Forma consistente de di...
COMPOSER: COMO?
• Instalação
• Local/projeto
sempre que possível, instale
a ferramenta globalmente
(e não por projeto)
COMPOSER: COMO?
• Instalação
• Global
em getcomposer.org tem as instruções mais
detalhadas, até com pacote para Windows
COMPOSER: COMO?
• Criando seu projeto
COMPOSER: COMO?
• Criando seu projeto subdependências
resolvidas pelo
composer
} dependência que você havia listado
}
COMPOSER: COMO?
• Seu projeto usando um esqueleto
• traz as dependências (/vendor)
• e alguma estrutura de pastas, ex:
• /...
COMPOSER: COMO?
• Usando suas dependências
facilita o
carregamento das
suas dependências
COMPOSER: COMO?
• Na equipe, além do composer.json:
• composer.lock
garante que suas
dependências e suas
subdependências
e...
COMPOSER: COMO?
• Liberando sua biblioteca
seu pacote pode ser
autocarregado pelo
vendor/autoload.php
mesmo se ele ainda n...
COMPOSER: COMO?
• Liberando sua biblioteca
restringe o ambiente
onde sua biblioteca
funciona (não faça seu
usuário perder ...
nome completo do seu componente:
“vendor/package”
seja encontrável
{
facilite a decisão
jurídica do seu
usuário
versão do ...
MAIS UMA COISA
(OU 2 OU 3...)
MAIS UMA COISA
(OU 2 OU 3...)
https://github.com/composer/installers
componentes
específicos para
frameworks
MAIS UMA COISA
(OU 2 OU 3...)
Para não dizer que não falei
deVagrant
https://github.com/puphpet/puphpet-composer
instala a...
MAIS UMA COISA
(OU 2 OU 3...)
https://github.com/robloach/component-installer
gerencia
dependências de
front-end
concorren...
MAIS
• http://getcomposer.org
• docs
• book.pdf
• github
• Rafael Dohms: @rdohms
• Composer: putting dependencies
on the s...
OBRIGADO!
• about.me/rogeriopradoj
Próximos SlideShares
Carregando em…5
×

Composer para Gestão de Dependências - Encontro PHP - Season

1.051 visualizações

Publicada em

Apresentação feita no dia 02 de julho de 2013 no evento Encontro PHP, da Season.

Publicada em: Tecnologia
0 comentários
5 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.051
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
27
Comentários
0
Gostaram
5
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Composer para Gestão de Dependências - Encontro PHP - Season

  1. 1. COMPOSER PARA GESTÃO DE DEPENDÊNCIAS Rogério Prado de Jesus Encontro PHP - Season Julho 2013
  2. 2. QUEM SOU EU? • @rogeriopradoj - Rogério Prado de Jesus • PHP desde 2009 • blog: rogeriopradoj.com • Grupo de usuários:
  3. 3. QUEM SOU EU? • @rogeriopradoj - Rogério Prado de Jesus • Comunidade -> leva à evolução • eventos • contribuições • bate-papo
  4. 4. VAMOS FALAR DE COMPOSER... .. E COMO ELE PODE AJUDAR SEU PROCESSO DE DESENVOLVIMENTO
  5. 5. COMPOSER: O QUE É? Ferramenta... ...para Gestão... ...de dependências em projetos PHP
  6. 6. ProjetoSistema Rígido Aberto Principais diferenças (onde o Composer leva vantagem sobre a PEAR)
  7. 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. 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
  9. 9. COMPOSER: COMO? • Instalação • Local/projeto sempre que possível, instale a ferramenta globalmente (e não por projeto)
  10. 10. COMPOSER: COMO? • Instalação • Global em getcomposer.org tem as instruções mais detalhadas, até com pacote para Windows
  11. 11. COMPOSER: COMO? • Criando seu projeto
  12. 12. COMPOSER: COMO? • Criando seu projeto subdependências resolvidas pelo composer } dependência que você havia listado }
  13. 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
  14. 14. COMPOSER: COMO? • Usando suas dependências facilita o carregamento das suas dependências
  15. 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. 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. 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. 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
  19. 19. MAIS UMA COISA (OU 2 OU 3...)
  20. 20. MAIS UMA COISA (OU 2 OU 3...) https://github.com/composer/installers componentes específicos para frameworks
  21. 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. 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. 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
  24. 24. OBRIGADO! • about.me/rogeriopradoj

×