Não vou me aprofundar muito no que o composer faz, a documentação no próprio site está completa e intuitiva.

O que é composer?

Composer é uma ferramenta para gerenciar as dependência em PHP. Ele permite que você declare as bibliotecas que seu projeto necessita e instala para você.

Gerenciamento de dependência

O Composer não é um Gerenciador de Pacotes. Ele lida com "pacotes" ou bibliotecas, mais somente administra essas dependências, é instalado normalmente em um diretório (por exemplo, /vendor), dentro do seu projeto. Por padrão ele nunca irá instalar nenhuma aplicação.

A idéia do composer não é nova, foi inspirado em node's npm and ruby's. Mas para PHP não tinha uma ferramenta.

Os problemas que o Composer resolve são:

a) Você tem um projeto que depende de muitas bibliotecas.
b) Algumas dessas bibliotecas depende de outras bibliotecas.
c) Você declara as dependências necessárias.
d) O composer encontra quais as versões dos pacotes que precisam ser instalados e instala (ou seja, ele baixa para seu projeto).

Declarando dependências

Você está criando um projeto, e necessita de uma biblioteca que faz o registro em log de alguma ação que está sendo aplicada. Você decide usar um monolog. Para adicionar ao projeto, tudo que você precisa, é criar um arquivo composer.json na raiz do projeto com algumas informações e incluir a dependência do projeto.

{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}

Nós simplesmente estamos informado que nosso projeto requer o pacote monolog/monolog, com a versão começando com 1.2 ou mais atual.

Bom, esse é somente os primeiros passos para entender o que é composer e como ele vai te ajudar no seu projeto. Com ele você evita de ficar visitando o site do autor da class, para verificar se tem nova atualização. No próprio composer você pode fazer a atualização de suas dependências, ele busca no repositório, valida se existe uma nova versão e atualiza os arquivos para você.

Na próxima postagem, vou mostrar como é feita a Instalação e como usar.

Fiquem com Deus!


Discussão