Composer para Iniciantes em PHP: Dependências e Autoloading
Você está iniciando um novo projeto PHP e precisa de uma biblioteca para logging ou requisições HTTP. Você copia e cola algum código, mas rapidamente fica bagunçado. Como gerenciar bibliotecas externas adequadamente? O Composer resolve isso lidando com dependências e autoloading para você. Neste guia, você aprenderá a usar o Composer do zero.
O que é o Composer?
O Composer é um gerenciador de dependências para PHP. Ele permite declarar as bibliotecas das quais seu projeto depende e as gerencia para você. Não é um gerenciador de pacotes como apt ou yum; ele funciona por projeto, instalando dependências em um diretório vendor.
Instalando o Composer
Primeiro, verifique se o Composer já está instalado executando composer --version no seu terminal. Se não estiver, baixe e instale-o em getcomposer.org. No Windows, use o instalador Composer-Setup.exe. No macOS/Linux, execute o script de instalação.
Criando um arquivo composer.json
Todo projeto Composer tem um arquivo composer.json que descreve as dependências. Você pode criar um manualmente ou executar:
composer init
Este comando interativo solicita o nome do pacote, descrição, autor e dependências. Por enquanto, você pode pular a adição de dependências e editar o arquivo depois.
Adicionando Dependências
Para adicionar uma biblioteca, use composer require. Por exemplo, para adicionar a popular biblioteca de logging monolog/monolog:
composer require monolog/monolog
O Composer baixará a biblioteca e suas dependências para o diretório vendor e atualizará composer.json e composer.lock.
Entendendo Restrições de Versão
O Composer usa versionamento semântico. Restrições comuns:
^1.2permite atualizações para1.xmas não2.0(recomendado para bibliotecas).~1.2permite atualizações para1.2.xmas não1.3.1.2.*permite qualquer versão1.2.x.>=1.2