Controle de dependência em PHP, ditando o ritmo da música com o Composer

Conheça o Composer e tenha controle de dependências!

Uma atividade que demanda tempo em qualquer projeto é a instalação e manutenção de dependências, não trata-se apenas de baixar todas as bibliotecas jogar numa única pasta e sair usando, muitas vezes queremos atualizar essas bibliotecas para versões mais novas e como cada uma também é um projeto, possui suas dependências.

Atualmente existem diversos projetos que fazem a atividade de controle de dependências, no caso do PHP uma das mais usadas é o composer, um programa extremamente simples de ser usado e que pode lhe economizar muito tempo.

Primeiramente precisamos fazer o download do composer, seguem algumas formas:

Download Composer.phar

Segundo, para descrever as dependências de seu projeto o composer utiliza um arquivo chamado “composer.json”, que nada mais é que um arquivo de texto com um objeto no formato json (leia mais sobre json aqui), mas sem muita enrolação mostro abaixo um exemplo de arquivo tendo como dependência apenas o monolog:

{ 
 "require": { 
 "monolog/monolog": "~1.11"
 } 
 }
O composer sempre irá buscar os pacotes, por padrão, no site do packagist (link).

Neste caso estamos dizendo ao composer que queremos o projeto “monolog/monolog” presente no site do packagist com a versão mais recente e anterior a 1.22.1, matematicamente falando < 1.22.1.

Vamos ao exemplo, abra o terminal e execute o seguinte comando:

composer require monolog/monolog

Após o termino da execução, que fará a criação do arquivo e download das dependências do monolog, você verá uma estrutura semelhante ao que mostrei anteriormente.

Agora para teste vamos adicionar o framework Bootstrap ao nosso projeto, execute o comando abaixo:

composer require twbs/bootstrap

Novamente o composer atualizará as dependências de seu projeto e fazer o download das mesmas. Percebem a facilidade do seu uso ? Abrindo o arquivo “composer.json” você verá algo como o abaixo:

{
 "require": {
 "monolog/monolog": "~1.11",
 "twbs/bootstrap": "~3.2"
 }
}

Você também deve ter percebido que o composer criou uma pasta chamada “vendor”, é nesta pasta que são colocados os arquivos baixados.

Mas tem mais, o foco do composer é php e para tanto ele cria dentro da pasta “vendor” um arquivo chamado “autoload.php”, que nada mais é do que um arquivo de “require” de todas suas dependências, o que facilita bastante, já que com isso você precisa apenas adicionar o require desse arquivo que todas suas dependências estão carregadas.

O composer pode ser acessado via linha de comando ou terminal, portanto seguem alguns comandos que o composer utiliza:

Usando comando Composer

  • composer install – Instala as dependências
  • composer update – Atualiza as dependências
  • composer require “pacote” – Cria,adiciona e instala o pacote
  • composer dump-autoload – Atualiza o arquivo de dependências “autoload.php”
  • composer selfupdate – Auto atualização do composer, irá baixar a versão mais recente

Com apenas estes comandos já é possível realizar a maioria das tarefas de controle de dependências, lembrando que o comando “composer update” faz tanto a adição como remoção de dependências, portanto não importa se você adicionou ou removeu linhas do arquivo “composer.json”, elas serão atualizadas.

Para mais informações acessem o site oficial do composer acesse o link abaixo:

Projeto Composer

Comentários