📅 TDC São Paulo 2024: Inscrições com 20% DE DESCONTO e INGRESSOS GRATUITOS 🚀

Introdução ao Composer: o que é, como instalar, como usar.

Publicado em 01/02/2018

Atualizado em 03/06/2024

O que é o Composer?

O Composer é uma ferramenta para o gerenciamento de dependências em PHP. Ele permite que você declare as bibliotecas que seu projeto necessita e ele gerencia (instala / atualiza) elas para você¹.

Para quem já está familiarizado com outras linguagens como o Node, por exemplo, temos o npm que faz isso no Java, o Maven e ainda o Bundler, no Ruby. No caso do Composer do PHP, este foi fortemente inspirado pelos npm (Node) e o bundler (Ruby).

Tá com pouco tempo? Clica no play e ouça toda o conteúdo. 😉

Para quem adotou o PHP como linguagem de aprendizado deve estar se perguntando o que é um gerenciador de dependências. Para explicar melhor, vou iniciar explicando o que são dependências de projeto.

O que são dependências?

São todos os artefatos (bibliotecas/ pacotes) de software ou de sistemas de terceiros que seu projeto utiliza para funcionar.

Para que serve o Composer?

Imagine que você tem o seu projeto e escolheu um framework, que é a abstração (captura) de funcionalidades comuns a várias aplicações. Para construção deste projeto, o framework passa a ser uma biblioteca do seu sistema e, provavelmente, dependa de outras bibliotecas para funcionar. É aí que entra o Composer fazendo sua “mágica”, já que é ele quem irá gerenciar essas bibliotecas que o seu projeto necessita. Ou seja, com ele você irá declarar essas bibliotecas e ele, por sua vez, irá achar quais as versões delas que seu projeto necessita e irá instalar elas em uma pasta chamada vendor.

A imagem² abaixo faz uma analogia melhor de como a ferramenta funciona.

Analisando a imagem temos o Fornecedor da Biblioteca (Library Publisher); a Biblioteca em si (Library), no caso as frutas e verduras na imagem; o Cliente (Library Consumer), Consumidor dessa biblioteca; seu projeto e o Packagist – que seria a feira com o anúncio dos fornecedores, a qual entraremos com mais detalhes em outro post sobre o assunto.

Até aqui vimos o que é o Composer e para que serve, agora vamos ver como instalá-lo e um exemplo simples.

Instalando o Composer

Requer o PHP na versão 5.3.2 ou superior para funcionar. Os passos de instalação da ferramenta a seguir são no sistema operacional Linux, caso o seu seja windows, recomendo a leitura da documentação.

Há duas formas de instalar, vamos a elas:

Localmente
Instalar localmente é apenas uma questão de executar o instalador “composer.phar” no diretório do seu projeto. Você pode ver as instruções de download através desse link³

O composer.phar é um binário de arquivo PHP que pode ser rodado em linha de comando arquivos.phar do PHP. Eles se assemelham com arquivos .jar do Java, ou seja, uma biblioteca na qual a aplicação é compilada.

Com o composer.phar no diretório do seu projeto, basta rodar o comando

$ php composer.phar

Globalmente
A diferença nessa instalação é que você pode rodar o composer.phar de qualquer lugar que desejar. Você instala em um diretório no qual você possa acessar globalmente. Com isso é possível executá-lo sem precisar invocar o php

Usando o Composer

Para dar um exemplo simples, iremos fazer a instalação do Slim Framework. Vamos começar criando de diretório chamado teste-composer e depois acessar ele. Você pode criar da forma que achar melhor, abaixo listo os comandos criando a estrutura de teste em um terminal Linux.

$ mkdir teste-composer
$ cd teste-composer

Dentro deste diretório, vamos criar um arquivo chamado composer.json e abrir ele com o Sublime. Para quem não conhece, o Sublime é um editor de textos, um dos mais usados atualmente.

$ touch composer.json
$ subl composer.json

Já para quem está acostumado com Linux, pode abrir no editor Vim

$ vim composer.json

Vamos escrever o seguinte e salvar:

{
    "require": {
        "slim/slim": "^3.0"
    }
}

Agora vamos dentro da pasta rodar o seguinte comando

$ php composer.phar install

Essa será a saída

saida slim composer 2

E a estrutura de diretórios ficará assim:

saida teste composer

Algumas informações que valem ressaltar é que, no caso do Linux, temos que cuidar as permissões na hora de executar alguns comandos, no meu caso eu usei o comando sudo (permite a usuários comuns obter privilégios de super usuário e executar tarefas administrativas permitidas apenas para o mesmo) apenas para executar o php composer-setup.php.

Desde quando foi lançado, em Março de 2012, o Composer vem crescendo e sendo utilizado em grande escala, isso porque ele supriu algo que o PHP não tinha (ou até tinha no caso do pear mas era difícil de configurar), de gerenciador de dependências. Hoje é difícil imaginar construir um projeto sem ele é quase como pensar em uma tarefa suicida.

Esse post foi apenas uma introdução do que é o Composer, mas existem muitas coisas a serem vistas e veremos mais detalhadamente algumas em futuros posts sobre.

Rodapé / Referências
[1] Tradução da introdução na documentação do site oficial do Composer
[2] Imagem retirada da palestra do Rafael Dohms – Composer The Right Way
[3] As instruções são da própria documentação do Composer e encontram-se em inglês

Gostou do texto? Fique por dentro de outros materiais do universo PHP no Blog da KingHost.

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Morvana
Morvana Bonin
Full-Stack Developer focada em Backend.
Morvana
Morvana Bonin
Full-Stack Developer focada em Backend.

Compartilhe esse conteúdo com alguém que possa gostar também

Receba todo mês conteúdos
incríveis como esses para
seguir evoluindo

Conteúdos relacionados

Você sabe o que é spyware? Esse tipo de software malicioso é uma das maiores ameaças à segurança digital atualmente. O tema “spyware” é cada vez mais relevante à medida que os ataques continuam a crescer em número e sofisticação.  Em um mundo onde a maioria das pessoas confia em dispositivos digitais para suas atividades,...
As agências enfrentam o desafio constante de gerenciar múltiplos sites de clientes, cada um com suas próprias necessidades e questões específicas. Nesse contexto, um sistema de monitoramento web pode ajudar muito, tornando essa administração mais eficiente. Cada minuto fora do ar, pode resultar em perdas significativas. Por isso, manter todos esses sites funcionando perfeitamente, sem...

Mensagens para você