O que é Composer e para que serve?
\n\nComposer é 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.
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
- 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.lockfixa as versões exatas de todos os pacotes instalados, garantindo o mesmo ambiente em todas as máquinas (desenvolvimento, teste, produção). \n
Instalação do Composer
\n\nInstalação no Linux / macOS
\nA maneira mais simples é usar o script de instalação oficial. Abra o terminal e execute:
\nphp -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');"\nApós isso, você obterá o arquivo composer.phar. Para tornar o comando composer global, mova-o:
sudo mv composer.phar /usr/local/bin/composer\n\nInstalação no Windows
\nBaixe e execute o instalador do site oficial. Ele adicionará o Composer à variável de ambiente PATH automaticamente.
\n\nVerificando a instalação
\nApós a instalação, execute no terminal:
\ncomposer --version\nVocê deverá ver algo como: Composer version 2.7.1 2024-03-11 16:15:07.
Início rápido com exemplo de código
\n\nVamos criar um novo projeto e instalar uma biblioteca para trabalhar com datas — nesbot/carbon.
- \n
- Crie um diretório para o projeto:\n
\nmkdir my_project\ncd my_project\n - Inicialize o Composer:\n
\ncomposer initSerá 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
\ncomposer.jsonserá criado. \n - Instale a biblioteca Carbon:\n
\ncomposer require nesbot/carbonO Composer baixará a biblioteca e todas as suas dependências para a pasta
\nvendor/, além de criar o arquivocomposer.locke atualizar ocomposer.json. \n - Crie o arquivo
index.php:\n<?php\nrequire_once __DIR__ . '/vendor/autoload.php';\n\nuse Carbon\\Carbon;\n\necho