Composer PHP

Neste artigo você irá aprender a trabalhar com o Composer do PHP e gerenciar de maneira rápida e simples todas as suas dependências de bibliotecas.

O que é Composer?

Composer é uma ferramenta de gerenciamento de dependências em PHP. Com ele você pode instalar e atualizar de maneira rápida e fácil todas as suas dependências, principalmente bibliotecas de terceiros.

Como instalar o Composer?

Para instalar o Composer em seu projeto é muito simples, basta fazer o download do arquivo composer.phar no diretório do projeto.

Você pode fazer o download usando o comando CURL via linha de comando:

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

Se preferir, faça o download diretamente através deste link.

Atualizando o Composer

Recomendo que você sempre se certifique que o Composer está atualizado em seu projeto antes de fazer a instalação das dependências.

Para atualizar o Composer, entre no diretório do seu projeto e rode o seguinte comando:

php composer.phar self-update

Definindo as dependências

Para definir as dependências de bibliotecas que deverão ser instaladas e gerenciadas pelo Composer, você deve criar um arquivo no formato JSON e com o nome composer.json na raíz do seu projeto.

Exemplo do arquivo composer.json:

{
    "name": "Nome do Projeto",
    "require": {
        "php": "5.3.*",
        "monolog/monolog": "1.*"
    },
    "require-dev": {
        "phpunit/phpunit": "4.8.*"
    }
}

Note que neste arquivo composer.json existe uma chave require e outra require-dev. A chave require-dev é opcional e serve para você definir dependências que deverão ser instaladas apenas em ambiente de desenvolvimento, como por exemplo a biblioteca PHPUnit, utilizada para testes unitários.

Instalando as dependências

Agora que você já criou o arquivo composer.json na raíz do seu projeto, vamos instalar as dependências definidas nele.

Para instalar as dependências do Composer rode o seguinte comando:

php composer.phar install

Para instalar em ambiente de produção, use o comando:

php composer.phar install –no-dev –o

O comando acima (usando a flag –no-dev) não irá instalar as dependências definidas em require-dev, que devem ser usadas somente em ambiente de desenvolvimento. Já a flag –o irá otimizar o arquivo de autoload gerado pelo Composer.

Atualizando as dependências

Sempre que você quiser atualizar as suas dependências , rode o seguinte comando:

php composer.phar update

Para ambiente de produção, rode:

php composer.phar update –no-dev –o

Usando o Composer

Finalmente iremos utilizar o Composer, para isso devemos incluir o autoload gerado por ele na pasta vendor.

<?php

// Aqui incluímos o autoload gerado pelo Composer
require __DIR__ . '/vendor/autoload.php';

// Aqui usamos normalmente as bibliotecas que foram adicionadas como dependência no Composer
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$log = new Logger('logs');
$log->ushHandler(new StreamHandler(__DIR__ . '/logs.log', Logger::WARNING));
$log->addWarning('Criando um log warning...');

Para maiores informações, acesse o site oficial do Composer: https://getcomposer.org/