Controle de dependência em PHP usando o composer

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, segue um breve tutorial de como usá-lo.

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

download do arquivo .phar

Segundo, para descrever as dependências de seu projeto o composer utiliza um arquivo chamado “composer.json”, que nada mais é que um arquivo 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”

     } 

 } 

Obs.: 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.11, matematicamente falando < 1.11.

Vamos ao exemplo, abra o terminal/cmd 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 fará 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ência, o que facilidade 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:

Comando Descrição
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 neste link

  • O composer é realmente muito útil para gerenciar dependências de software com PHP.

    Uma outra coisa muito legal dele é o autoloader que ele nos dá, de graça. E melhor: seguindo o padrão PSR-4 🙂

    Um pouco mais sobre isso neste artigo: http://rberaldo.com.br/composer-php/

  • O composer é realmente muito útil para gerenciar dependências de software com PHP.

    Uma outra coisa muito legal dele é o autoloader que ele nos dá, de graça. E melhor: seguindo o padrão PSR-4 🙂

    Um pouco mais sobre isso neste artigo: http://rberaldo.com.br/composer-php/

  • O composer é realmente muito útil para gerenciar dependências de software com PHP.

    Uma outra coisa muito legal dele é o autoloader que ele nos dá, de graça. E melhor: seguindo o padrão PSR-4 🙂

    Um pouco mais sobre isso neste artigo: http://rberaldo.com.br/composer-php/