Composer: o gerenciador de dependências para PHP

Composer: o gerenciador de dependências para PHP

O Composer é o gerenciador de dependências para PHP mais utilizado hoje em dia em todo o mundo. Ele permite que você defina bibliotecas externas usadas em seu projeto de forma simples. O próprio Composer se encarrega de baixar a biblioteca e carregá-la automaticamente em sua aplicação.

É ridiculamente fácil usar o Composer! E ele faz todo o trabalho pesado de gerenciar as bibliotecas, baixar as versões corretas e carregá-las em seu projeto.

Ou seja, se você ainda não o usa, com certeza está perdendo MUITO tempo e produtividade!

Continue lendo este artigo, que vou explicar como instalar e utilizar essa maravilhosa ferramenta.

Instalação do Composer

Há diferenças no processo de instalação em sistemas Windows e em Linux/Mac OS X. Vou abordá-las separadamente.

Instalação em Linux e Mac OS X

Em Linux e Mac, podemos usar as maravilhosas ferramentas de linha de comando, que facilitam muito o nosso dia-a-dia de programação.

Aliás, se você usa Linux ou Mac e não sabe como utilizar os comandos pra agilizar e automatizar suas tarefas, recomendo que dê uma olhada no meu curso Shell Script Para Programadores.

Abra o terminal e rode este comando:

curl -sS https://getcomposer.org/installer | php

O que o comando acima faz é baixar o instalador do Composer, usando curl, e executá-lo com o interpretador do PHP.

Caso você não tenha o curl instalado, o comando vai falhar. Você pode instalar o curl ou usar o comando abaixo, que também terá o mesmo resultado:

php -r "readfile('https://getcomposer.org/installer');" | php

Se você rodar o comando ls, verá que o arquivo composer.phar agora está no diretório.

Você poderá executar o comando abaixo para testar a instalação:

php composer.phar

Como você vai usar muito o Composer, em vários projetos, recomendo que, em vez de baixá-lo em todas aplicações, instale-o globalmente. Assim poderá executá-lo a partir de qualquer diretório, sem precisar baixá-lo de novo.

Para isso, vamos copiar o arquivo composer.phar para um diretório que esteja no PATH do nosso sistema. Pra facilitar, vamos renomeá-lo para composer apenas, sem extensão.

Vamos copiar o arquivo para o diretório /usr/local/bin/, com o comando mv:

sudo mv composer.phar /usr/local/bin/composer

Note que /usr/local/bin/ é um diretório protegido e você precisará de permissão de root para escrever nele. Por isso, executamos o comando usando sudo.

Pronto.

Agora o Composer está instalado globalmente. Basta digitar composer no terminal, em qualquer diretório e pode usá-lo onde quiser.

Instalação em Windows

A forma mais simples de instalar no Windows é usando o instalador. Também há a opção manual, se preferir.

Baixe o instalador clicando aqui. Depois execute-o e siga os passos. O instalador vai colocar o Composer no PATH do seu Windows, assim você poderá executar o comando de qualquer diretório.

Note que, se você estiver com uma janela do terminal (prompt de comando) aberta, deverá fechá-la e abri-la novamente. Isso é necessário para que a alteração no PATH seja carregada.

Se preferir seguir a instalação manual, clique aqui e execute os comandos descritos na documentação oficial.

[cta id=’1444′]

Instalando Dependências

Para instalar uma dependências, usaremos o comando composer require <vendor_name/project_name>. Um pacote é identificado por duas partes: vendor_name é o nome do responsável por ele e project_name é o nome do projeto propriamente dito.

Por exemplo, se quisermos instalar o Slim, vamos requerer o pacote slim/slim, desta forma:

composer require slim/slim

NOTA: caso você não conheça, o Slim é um Micro-framework, muito útil para gerenciar rotas usando URLs Amigáveis, sem a necessidade de criar regras complexas no arquivo .htaccess.

Após alguns segundos, o Slim terá sido baixado automaticamente.

Os arquivos composer.json e composer.lock são criados automaticamente. A biblioteca Slim (e todas as demais dependências) serão armazenadas no diretório vendor.

O arquivo composer.json é o arquivo de configuração principal. É nele que são armazenadas as dependências, nome do projeto etc.

O composer.lock é um arquivo manipulado pelo próprio Composer, para gerenciar as versões, saber de onde baixar as bibliotecas etc. Você não precisa (e nem deve) mexer nele.

O diretório vendor é onde fica o auto loader e todas as dependências de seu projeto.

Você pode alterar o arquivo composer.json manualmente, se preferir. Mas é bem mais rápido e prático usar o comando composer require para isso. Ele altera o arquivo e já baixa a biblioteca automaticamente.

Usando Dependências

Uma vez que você tenha declarado e baixado uma dependência, você poderá usá-la em todo o seu projeto. Basta que o autoloader do Composer tenha sido carregado.

Se você possui um arquivo de Bootstrapping, esse é o local perfeito para incluir o autoloader do Composer. Você pode ler mais sobre Arquivos de Inicialização e Bootstrapping neste meu artigo.

Vamos fazer um rápido teste usando o Slim, que já baixamos anteriormente.

No diretório atual (onde está o composer.json) crie um arquivo index.php. Nele, você precisa apenas incluir o arquivo vendor/autoload.php e você terá acesso a todas as dependências gerenciadas pelo Composer.

Vamos criar o index.php com este conteúdo:

<?php
 
require 'vendor/autoload.php';
 
$app = new \Slim\Slim();
 
$app->get('/', function()
{
    echo "Funcionou!";
});
 
$app->run();

Você pode iniciar o servidor nativo do PHP e testar no navegador. Inicie o servidor na porta 8000:

php -S localhost:8000

Depois basta acessar a URL http://localhost:8000 em seu navegador e você verá a mensagem Funcionou!.

Pronto, viu como é simples? :)

Atualizando Dependências

Por ser um gerenciador, o Composer deve atualizar os pacotes baixados. Para isso, devemos usar o comando composer update. Esse comando verifica todas as dependências configuradas no arquivo composer.json e busca por atualizações. Dessa forma, elas estarão sempre atualizadas.

Obtendo Ajuda

Ao digitar apenas composer, sem parâmetros, será exibida a lista de comandos disponíveis. É possível atualizar a lista de repositórios (com selfupdate). Também é possível obter ajuda sobre um comando específico, usando a palavra help antes do comando, por exemplo composer help require.

Aprenda Tudo Sobre o Composer

Neste post mostrei apenas alguns recursos do Composer.

Se você quiser aprender todo o poder dessa ferramenta, conheça o meu curso Ultimate Composer.

No curso eu mostro outras configurações do Composer, a estrutura do arquivo de configuração composer.json e outros comandos disponíveis.

Também demonstro como usar o poderoso autoloader que ele fornece. Essa é um dos principais recursos do Composer e um dos melhores e mais práticos de usar!

Para fixar o conteúdo, vamos montar uma aplicação prática, usando o que aprendemos.

Aproveite a promoção por tempo limitado! O curso Ultimate Composer está custando apenas R$ 7,00! Mas é por pouco tempo!

Clique aqui e conheça o Curso Ultimate Composer!

 

Aprenda Ainda Mais

15 Dicas, Boas Práticas e Fundamentos do PHP

Conheça Dicas FUNDAMENTAIS para programar em PHP de forma Profissional

Não se considere Programador PHP sem antes ler este guia e adotar estas práticas!

Baixe gratuitamente este guia com 15 Dicas de PHP

The following two tabs change content below.
Graduado em Ciência da Computação, pela Universidade Federal do Paraná (UFPR), é desenvolvedor de software desde 2008, com foco em Desenvolvimento Web com PHP.
  • Guilherme Rodrigues

    Quando vou instalar no windows , aparece o seguinte erro,

    Algumas configurações em seu aparelho faça Compositor incapaz de funcionar adequadamente .

    Certifique-se de corrigir os problemas listados abaixo e executar este script novamente :

    A extensão OpenSSL está faltando , o que significa que as transferências HTTPS seguras são impossíveis.

    Se possível, você deve habilitá-lo ou recompilar o PHP com –with- openssl

    pode me ajudar?

    • Olá. Você precisa habilitar a extensão openssl no php.ini

      • Guilherme Rodrigues

        Entao quando instalo o composer direcionando pra pasta do wamp , da certo , mas quando direciono pra pasta por ex “php” onde tem o php.exe que esta no path , n da certo msm que eu tenha habilitado o openssl no php.ini

        • O que quer dizer com “redirecionar para a pasta”? O Composer deve ficar disponível como um comando no terminal, independente da pasta onde você está

          PS: não recomendo usar Wamp nem qualquer outro pacote. Prefira usar o PHP do site oficial