Composer: Instalação e Utilização

Composer: Instalação e Utilização

Depois de outras linguagens, o PHP finalmente ganhou o seu gerenciador de dependências. O Composer facilita a vida dos desenvolvedores simplificando o gerenciamento dos pacotes e dependências do seu aplicativo. O que antes era necessário ser feito manualmente ou através do PERL ou PECL agora pode ser feito utilizando o Composer. Basta criar um arquivo definindo quais pacotes seu aplicativo precisa para rodar e o Composer faz o resto do serviço.

Sempre que desenvolvemos um aplicativo reutilizamos outras bibliotecas para acelerar nosso trabalho. Algumas bibliotecas podem ser baixadas e adicionadas ao seu projeto. Outras podem ser instaladas globalmente com PERL ou PECL. Em ambos os casos temos problemas: se por um lado precisamos gerenciar manualmente as bibliotecas, por outro precisamos nos contentar com uma mesma versão da extensão em todos os projetos daquele servidor. São estes problemas que o Composer pretende solucionar.

Instalação

Vamos começar pela instalação. Ela é bem simples e pode ser feita localmente ou disponibilizada para todos os seus projetos.

*nix

A instalação em sistemas operacionais baseados no Unix é muito simples. Como o Composer é apenas um arquivo, ele pode ser instalado apenas para o projeto que você desejar:

Isto vai adicionar o arquivo do Composer no seu diretório atual. O nome do arquivo é composer.phar e será executado usando php composer.phar. Para simplificar sua vida, você mover este arquivo para a pasta /usr/local/bin tornando o Composer disponível para todos os seus projetos.

Agora você vai poder executar o Composer apenas com o comando composer. Pode ser que seja necessário usar o sudo na hora de mover o arquivo.

Se você utiliza o OSX , você pode utilizar o homebrew para fazer a instalação. Siga os passos fornecidos em https://getcomposer.org/doc/00-intro.md#globally-on-osx-via-homebrew-.

Windows

No Windows a maneira mais simples de instalar é utilizar o Composer-Setup.exe. Baixe o arquivo e execute. O instalador vai colocar o Composer no PATH do seu sistema, permitindo que você utilize o comando composer diretamente no diretório do seu projeto (na linha de comando).

Se ocorrer um erro do tipo “Composer Error [ERR_DOWNLOAD]”, deve ser porque o PHP não está no PATH do Windows ou porque o php_openssl não está ativo. Para corrigir o PATH vá no Painel de Controle > Sistema > Confirugações avançadas do sistema. Depois entre na aba Avançado e clique em Variáveis de Ambiente. Selecione PATH, clique editar e adicione no fim o caminho para a sua instalação do PHP (por exmeplo c:\xampp\php). Para corrigir o php_openssl, basta abrir o php.ini, adicionar “extension=php_openssl.dll” nas extensões.

Utilização

Para usar o Composer você precisa saber o que é JSON. O JavaScript Object Notation é uma notação fácil de ser lida e muito utilizada para a transferência de dados. Por ser mais compacta que o XML, ocupa menos espaço e é muito utilizada em chamadas AJAX – pela velocidade e pela facilidade em trabalhar no front-end.

Este é um arquivo composer.json exemplo. Todas as chaves deste arquivo são opcionais, mas só tem sentido usar o Composer se preencher a seção require – estas são as dependências do seu aplicativo. As outras informações são importantes se você pretende distribuir sua aplicação como um pacote. Bom, uma breve explicação de cada chave:

  • name: é o nome do pacote. Se usa bastante o endereço do repositório no Github, com o nome do proprietário primeiro e o nome do repositório depois da “/”.
  • description: breve descrição do seu pacote e o que ele faz. Depois você pode criar um README com mais informações.
  • keywords: palavras chave, úteis para que as pessoas encontrem seu pacote.
  • license: tipo de licença que você utilizará para distribuir seu pacote. Saiba mais sobre licenças em http://pt.wikipedia.org/wiki/Licen%C3%A7a_de_software_livre.
  • require: aqui você vai definir o que é necessário no seu aplicativo. Você deve colocar o nome do pacote e a versão que você necessita. Pode utilizar “*”, “>”, “<“, etc, além de requerer o nome de branches diretamente usando “dev-master”, “dev-develop”, etc. Porém, para que você solicite um branch diretamente, precisa da linha “minimum-stability”: “dev”. Mais informações em https://getcomposer.org/doc/01-basic-usage.md#package-versions.
  • require-dev: esta chave é quase igual ao require. A diferença é que os pacotes definidos aqui serão carregados apenas em ambiente de desenvolvimento, quando usarmos a opção –dev.
  • autoload: definição de quais classes devem ser carregadas automaticamente no autoload gerado pelo Composer. Essa é a definição do autoload padrão do Laravel.
  • minimum-stability: como comentei antes, esta chave permite que você utilize branches ao invés de versões ao solicitar pacotes.

Logo depois que você criar o arquivo composer.json (que deve ser criado na raiz do seu projeto), você deverá executar o comando:

Este comando vai baixar todas as dependências e colocar os arquivos dentro da pasta vendor. Para você utilizar as bibliotecas copiadas, basta fazer um require ‘vendor/autoload.php’; no seu código PHP. Este comando também vai criar um arquivo chamado composer.lock. Neste arquivo será definido exatamente quais versões foram baixadas. É recomendado que você faça o commit deste arquivo no seu controle de versão, pois assim outras pessoas trabalhando no mesmo projeto vão obter exatamente as mesmas versões quando executarem o composer install.

Quado você precisar atualizar as versões das suas dependências, pode executar o comando:

Assim o Composer vai atualizar as versões e também o arquivo composer.lock.

Se você utilizar um sistema de controle de versão, você deve ignorar a pasta vendor. Outras pessoas trabalhando no mesmo projeto vão baixar estes arquivos usando o composer install, portanto não há necessidade de versionar esta pasta.

Conclusão

Demorou um pouco mas finalmente os desenvolvedores PHP tem o seu gerenciador de dependências. O Composer traz uma série de benefícios e facilita a vida do desenvolvedor. Por isso, vale a pena instalar e aprender a usar esta ferramenta. E se você quer trabalhar com um framework moderno como o Laravel, então o Composer é um requisito.

Referências

6 respostas para “Composer: Instalação e Utilização”

  1. Boa noite.
    tentei instalar seguindo seu tutorial e varios outros tambem encontrados na internet, mas em todos estes na instalação do composer da esse erro aqui:
    Composer Error [ERR_DOWNLOAD]: Composer was not downloaded

    se conseguir me dar uma mão para resolver isso agradeço muito.

    1. Boa noite,
      Você está tentando instalar no Windows? Com o instalador? Se sim, deveria ser bem simples a instalação. Dei uma pesquisada online e parece que você precisa da extensão php_openssl habilitada. Isso tem que ser feito no php.ini. Talvez esteja bloqueando o download do composer.
      Abraço

      1. Boa noite, sim estou tentando instalar pelo composer no windows 7, então o php_openssl esta ativada, no composer consigo buscar o php e instalar mas logo depois da esse erro Composer Error [ERR_DOWNLOAD]: Composer was not downloaded, eu não sei se talvez estou usando a versão errada do php (uso aquela do wampserver em sua pasta tem o php 5.4.3 o exe do php), e alias e essa mesmo que deveria ser usada?
        Mas obrigado pela resposta anterior.

          1. Cara vlw me ajudou bastante, descubri meu erro, como voce disse me faltava criar a variavel no path do sistema do composer fiz isso e deu certo.
            Muito obrigado, continue fazendo esse tutoriais que são muito bons para ajudar mais pessoa. Vlw abraço

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *