Composer 101 e sua integração com Drupal 8
Natan Moraes
Desenvolvedor
CI&T
Sobre mim
Contribuições:
- WF Tools
- Entity Scaffold
- Deploy - Content Staging
- Entity Dependency API
- Dev Roles Users
- Webhook
drupal.org/u/natanmoraes
Natan Moraes
Desenvolvedor
CI&T
Sobre o Composer
Sobre o Composer
Composer é uma ferramenta para
gerenciamento de dependências em PHP. Ela
lhe permite declarar as bibliotecas das quais
seu projeto depende and irá gerenciar
(instalar ou atualizar) as mesmas para você
- Introdução ao Composer (getcomposer.org)
● Faça o download do instalador
○ https://getcomposer.org/installer
● Execute o arquivo no terminal
○ php installer
● Mova o arquivo para uma pasta global
○ mv composer.phar /usr/local/bin/composer
● Faça o download do instalador
○ https://getcomposer.
org/Composer-Setup.exe
● Execute o arquivo
Como instalar o Composer
Utilizando o Composer
Arquivo composer.json
composer.json
Palavra-chave “require” diz ao composer: “Tudo que está declarado aqui é uma
dependência”
composer.json
Nome da biblioteca no formato vendor/biblioteca
composer.json
Versão da biblioteca. Ex.:
● 1.0
● 1.*
● >=1.0 <2.0
● branch-name
composer.json
composer.json - comando install
composer.json - comando install
Comando install: lê o arquivo composer.json e faz o download das bibliotecas
composer.json - comando install
Para cada dependência, a versão configurada no composer.json é encontrada
e o download é feito por git, svn etc
composer.json - comando install
O arquivo composer.lock é criado
Arquivo composer.lock
composer.lock
Após instalar as dependências, o Composer grava a lista exata de versões
Instaladas no arquivo composer.lock e “trava” o projeto nessas versões específicas
O comando composer install checa se o arquivo composer.lock existe e, se existir, faz
o download das versões especificadas nele
Isso garante que qualquer pessoa consiga instalar as mesma versões das bibliotecas se seguir
o composer.lock
O comando composer update lê o arquivo composer.json, detecta novas versões, faz o
download das mesmas e atualiza o arquivo composer.lock
Se nenhum arquivo composer.lock existir, o Composer vai criá-lo após os comandos install ou
update
Composer.lock - Diagrama
composer install
composer.lock?
composer update
composer.json
Download das versões
em composer.lock
Calcula versões baseadas
na configuração
Não
Sim
Cria composer.lock
composer.lock
Exemplo do composer.lock
Utilizando as bibliotecas
Utilizando as bibliotecas
O Composer gera um arquivo em vendor/autoload.php que facilita o uso de
bibliotecas que possuem informaçõa de autoload.
Para utilizar tais bibliotecas, basta incluir o arquivo acima no seu script PHP
Como criar uma biblioteca
Como criar uma biblioteca
Para uma biblioteca ser reconhecida pelo Composer, ela precisa de um arquivo
composer.json em sua raiz com alguns parâmetros básicos
Como criar uma biblioteca
Nome da biblioteca no padrão: vendor/biblioteca
Como criar uma biblioteca
Descrição da biblioteca
Como criar uma biblioteca
Informações de autoload
packagist.org
Publicando no packagist.org
Composer + Drupal
drupal-composer/drupal-project
https://github.com/drupal-composer/drupal-project
drupal-composer/drupal-project
O projeto fornece um template para início rápido de projetos Drupal.
Com um comando, já são instalados
● Drupal
● Drush
● Drupal Console
● Behat
Configurações para módulos drupal como
● Instalar bibliotecas tipo “drupal-module” na pasta “web/modules/contrib”
● Instalar bibliotecas tipo “drupal-theme” na pasta “web/themes/contrib”
drupal-composer/drupal-project
Demonstração instalação Drupal 8
● https://www.youtube.com/watch?v=FhrdVk9_5m0
Demonstração instalação do módulo Webform
● https://www.youtube.com/watch?v=Mp0h0Rox3fQ
Dúvidas?
Composer 101 e sua integração com Drupal 8
Natan Moraes
Desenvolvedor
CI&T

Drupal Camp Campinas 2016 - Composer 101 e sua integração com drupal 8