Skip to content
Latchkey

O Que É o Composer? O Gerenciador de Dependências do PHP Explicado

O Composer é o gerenciador de dependências do PHP: ele resolve e instala as bibliotecas de que um projeto precisa e gera um autoloader para que elas simplesmente funcionem.

O Composer transformou o desenvolvimento em PHP ao trazer gerenciamento de dependências moderno, orientado a lockfile, e autoloading. Você declara os requisitos no composer.json, e o Composer resolve versões, instala pacotes do Packagist e configura um autoloader para que seu código possa usá-los.

O que é o Composer

O Composer é um gerenciador de dependências por projeto para PHP. Ele lê o composer.json, resolve um conjunto compatível de versões de pacotes, os instala em vendor/ e registra as versões exatas no composer.lock. Por padrão, ele busca pacotes no registro Packagist e gera um autoloader PSR-4.

Como funciona

O composer.json lista os pacotes exigidos e as restrições. "composer install" lê o composer.lock (se presente) e instala exatamente essas versões; "composer update" resolve novamente e reescreve o lockfile. O vendor/autoload.php gerado permite que seu código carregue classes sob demanda sem instruções require manuais.

Um exemplo de uso

Exija um pacote e, em seguida, instale a partir do lockfile.

Common Composer commands
# add a dependency
composer require guzzlehttp/guzzle

# install exactly from the lockfile (use in CI)
composer install --no-interaction --prefer-dist

Papel em CI/CD

Em CI, "composer install" restaura o conjunto de dependências travado, e usar "--no-interaction" mantém os logs limpos. Fazer cache do diretório vendor/ ou do cache do Composer entre execuções evita baixar os pacotes novamente. Fazer commit do composer.lock garante que a CI instale as mesmas versões que os desenvolvedores testaram, mantendo builds reprodutíveis.

Alternativas

Antes do Composer, o PHP dependia do PEAR, que o Composer substituiu em grande parte para dependências de aplicações. Não há um gerenciador concorrente mainstream; o Composer é o padrão de fato, com o Packagist como seu registro central.

Principais conclusões

  • O Composer gerencia dependências do PHP e gera um autoloader.
  • O composer.json declara os requisitos; o composer.lock fixa o conjunto resolvido.
  • Use "composer install" com caching em CI para builds reprodutíveis e rápidos.

Guias relacionados