Composer para PHP: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Composer e para que serve?

\n\n

Composer é um gerenciador de dependências para a linguagem de programação PHP. Se você já trabalhou com npm para JavaScript ou pip para Python, o princípio de funcionamento do Composer será familiar. Ele permite declarar bibliotecas das quais seu projeto depende e gerenciar automaticamente sua instalação, atualização e remoção.

\n\n

Para que serve o Composer? No desenvolvimento PHP moderno, raramente se escreve tudo do zero. Geralmente, são usadas bibliotecas prontas: para trabalhar com bancos de dados (Doctrine, Eloquent), requisições HTTP (Guzzle), templates (Twig), logging (Monolog) etc. Antigamente, os desenvolvedores baixavam arquivos ZIP, copiavam manualmente os arquivos e os incluíam via require. Isso era inconveniente, difícil de manter versões e atualizar dependências. O Composer resolve todos esses problemas:

\n\n
    \n
  • Carregamento automático (autoloading): O Composer gera um arquivo de autoload que carrega automaticamente todas as classes necessárias. Você não precisa escrever dezenas de require_once.
  • \n
  • Gerenciamento de versões: Você especifica versões exatas (ou intervalos) das bibliotecas, e o Composer garante que elas não entrem em conflito entre si.
  • \n
  • Repositório centralizado: Todas as bibliotecas estão armazenadas no Packagist.org — o repositório oficial do Composer.
  • \n
  • Reprodutibilidade: O arquivo composer.lock fixa as versões exatas de todos os pacotes instalados, garantindo o mesmo ambiente em todas as máquinas (desenvolvimento, teste, produção).
  • \n
\n\n

Instalação do Composer

\n\n

Instalação no Linux / macOS

\n

A maneira mais simples é usar o script de instalação oficial. Abra o terminal e execute:

\n
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"\nphp -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"\nphp composer-setup.php\nphp -r "unlink('composer-setup.php');"
\n

Após isso, você obterá o arquivo composer.phar. Para tornar o comando composer global, mova-o:

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

Instalação no Windows

\n

Baixe e execute o instalador do site oficial. Ele adicionará o Composer à variável de ambiente PATH automaticamente.

\n\n

Verificando a instalação

\n

Após a instalação, execute no terminal:

\n
composer --version
\n

Você deverá ver algo como: Composer version 2.7.1 2024-03-11 16:15:07.

\n\n

Início rápido com exemplo de código

\n\n

Vamos criar um novo projeto e instalar uma biblioteca para trabalhar com datas — nesbot/carbon.

\n\n
    \n
  1. Crie um diretório para o projeto:\n
    mkdir my_project\ncd my_project
    \n
  2. \n
  3. Inicialize o Composer:\n
    composer init
    \n

    Será solicitado que você insira o nome do projeto, descrição, autor etc. Você pode simplesmente pressionar Enter para aceitar os valores padrão. No final, o arquivo composer.json será criado.

    \n
  4. \n
  5. Instale a biblioteca Carbon:\n
    composer require nesbot/carbon
    \n

    O Composer baixará a biblioteca e todas as suas dependências para a pasta vendor/, além de criar o arquivo composer.lock e atualizar o composer.json.

    \n
  6. \n
  7. Crie o arquivo index.php:\n
    <?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Carbon\\Carbon;\n\necho                    

Recommendations