
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