Basicamente o Composer é um gerenciador de pacotes PHP, responsável para instalar e atualizar dependências. Tá Vinícios, mas o que é um gerenciador de pacotes e dependências?

Essa é uma das duvidas muito comuns para iniciantes de programação, eu mesmo relutei bastante antes de me entregar para facilidade e benefícios do Composer e pode acreditar o uso do Composer em seus projetos só traz benefícios!

Para entender de forma fácil o que são pacotes e dependências basta pensarmos em códigos desenvolvidos por uma empresa ou produto para realizarem ações isoladas dentro de um sistema. Um exemplo disso são as SDKs dos famosos gatwares de pagamento (pagar.me, Gerencianet, PagSeguro, etc), que são desenvolvidas para fazer a comunicação entre nossos sistemas (lojas virtuais e etc) e seus servidores, realizando assim as cobranças (cartão ou boleto).

Porem existe vários pacotes úteis que são desenvolvidos e compartilhados, desde integrações com redes sociais, CRUDS, NFE, etc, etc...

O mais legal é que qualquer um pode desenvolver e compartilhar uma biblioteca, assim como qualquer um pode baixar e usufruir em seus projetos.

Para quem já este familiarizado com outras linguagens de programação já deve conhecer um pouco sobre instalação de pacotes (por exemplo, no Node.js temos o NPM no JAVA e no Rudy temos o Bundler).

Através do Composer você consegue baixar, atualizar, e utilizar através de simples comandos.

Shoow de bola, agora que você já sabe o que é Composer deve esta se perguntando como se utiliza né? Bem vamos lá...

Antes de tudo você precisa ter instalado em seu sistema operacional uma versão do PHP igual ou superior a 5.3.2 (Recomendo utilizar o Xampp).

Agora é só entrar no site https://getcomposer.org/download/, Se seu sistema operacional for Windows tudo que precisa fazer é baixar a versão “Windows Installer”. A instalação é bem simples e baseada no famoso “avançar, avançar, concluir” rs

Em caso de outro sistema operacional a instalação deve ser realizada através de linha de comando, mas o processo é bastante simples também e o processo também esta bem explicada na própria pagina de download do link informado acima.

Perfeito! Composer instalado e agora o que faço?

Agora vamos testar se a instalação ocorreu da forma como prevíamos, como grande parte dos programadores iniciantes utiliza o Windows como plataforma, vamos então basear esse tutorial no Windows, mas os comandos são quase os mesmos :)

Primeiramente crie uma pasta em seu diretório “C:” com o nome de “testecomposer”.

[Trabalhando com Composer]

Agora abra o prompt de comando (CMD) e acesse a pasta criada

[Trabalhando com Composer]

Digite o comando “composer –v”, se tudo ocorreu como planejado você deve ver a versão do Composer instalada como na imagem abaixo.

[Trabalhando com Composer]

Show de bola, Composer instalado e pronto para utilizarmos.

Borá conhecer as bibliotecas disponíveis para utilizarmos.

Todas as bibliotecas estão disponíveis em https://packagist.org/ através desse link é possível pesquisar, consultar manual e muito mais.

Para compor o exemplo vamos supor que fossemos criar uma aplicação utilizando o gatware de pagamento Pagar.me, sendo assim precisamos baixar a biblioteca do Pagar.me.

Sendo assim após acessar o link acima pesquise por pagarme. A biblioteca oficial do Pagar.me é essa mostrada na imagem abaixo.

[Trabalhando com Composer]

Procure por “installation via Composer”, você verá o seguinte código.

composer require 'pagarme/pagarme-php'

Se você simplesmente copiar esse comando e colar no promt de comando ele automaticamente vai baixar a ultima versão disponível.

Porem não vamos fazer apenas isso, como queremos usar o composer de forma nativa em nossa aplicação e utilizar varias bibliotecas vamos desenvolver um pequeno código, código esse que vai ser a base para outras aplicações que vamos desenvolver juntos no futuro.

Sendo assim podemos fechar nosso prompt de comando e abrir nosso editor de código para criarmos um novo arquivo na pasta “testecomposer”. Nesse exemplo vamos utilizar o Sublime text 3.

Após abrir o Sublime cole o seguinte código, calma vamos explicar tudo rs.

 {
"name": "",
"description": "",
"authors": [
{
"name": "",
"email": ""
}
],
"require": {
}
}

Esse é a base para todo nosso projeto, no futuro vamos incrementar mais e mais esse código, mas agora vamos entender o que cada linha funciona.

Na linha 2 temos o “name”, nesse campo informamos o nome do projeto, vamos colocar “v8composer”

Na linha 3 temos o “description”, nesse campo informamos uma breve descrição do projeto, sendo assim vamos escrever “Projeto criado pela v8 design para mostrar na pratica a  utilização do composer”

Nas linhas 4 a 9 temos as informações de quem é o responsável pelo projeto, nesse caso na linha 6 vou usar meu nome “Vinícios Oliveira” e na linha 7 [email protected]

Na linha 10 temos o “require”, é exatamente aqui que adicionamos todas as bibliotecas que vamos utilizar, também vamos aproveitar para informar uma versão mínima do PHP para utilizar. Sendo assim primeiramente vamos adicionar   "php": "^7.1", ou seja os códigos que vamos desenvolver deve ser utilizado em versão de PHP 7.1 ou superior.

Logo abaixo vamos adicionar a biblioteca da pagarme (a mesma obtida no packagist) e adicionamos a versão, a versão mais estável no momento que escrevo esse artivo é a V3 (a versão também pode ser consultada no pakagist no lado direito da tela) "pagarme/pagarme-php": "^v3".

 {
"name": "v8composer",
"description": "Projeto criado pela v8 design para mostrar na pratica a utilização do composer",
"authors": [
{
"name": "Vinicios Oliveira",
"email": "[email protected]"
}
],
"require": {
"php": "^7.1",
"pagarme/pagarme-php": "^v3"
}
}

Show de bola, agora só precisamos salvar esse arquivo com o nome “composer.json” na pasta que criamos  “testecomposer”.

Após salvar o arquivo, vamos novamente abrir nosso prompt de comando e acessar a pasta que criamos.

No prompt vamos executar o seguinte comando

composer install

E nesse momento ele já vai baixar e realizar todos os processos que precisamos, dependendo de sua conexão com a internet esse processo pode levar alguns minutos.

Após a conclusão você verá uma tela como a imagem abaixo

[Trabalhando com Composer]

E Se você reparar na pasta já foi criado uma pasta com o nome de “vendor”. E isso significa que estamos indo bem e tudo esta ocorrendo como planejado

Agora que já temos nossa biblioteca baixada e configurada, vamos criar dentro da nossa pasta um arquivo “index.php” e vamos adicionar o seguinte codigo:

<?php

require __DIR__ . "/vendor/autoload.php";

Esse codigo faz exatamente a inclusão do autoload do composer e nos permite utilizar as bibliotecas que baixamos (e bibliotecas de uso nosso como vamos criar mais tarde em outros tutoriais).

Agora pra gente textar se a biblioteca do pagar.me já esta disponível vamos adicionar no index o seguinte codigo:

<?php

require __DIR__ . "/vendor/autoload.php";

$apiKey = 'ak_test_grXijQ4GicOa2BLGZrDRTR5qNQxJW0';
$pagarMe =  new \PagarMe\Sdk\PagarMe($apiKey);

var_dump($pagarMe); 

Se você não obteve nenhum erro, você já esta com tudo pronto e agora é so se divertir :D