Composer - Instalação e Configuração

Composer é uma ferramenta para gerenciamento de dependências/pacotes para a linguagem PHP, permitindo a declaração de bibliotecas que seu projeto depende, gerenciando (instalando e/ou atualizando) para você.

Pré Requisitos

Realize a instalação das seguintes dependências:

# apt-get install curl php7.0 php7.0-curl

Instalação do composer

# curl -sS https://getcomposer.org/installer  php -- --install-dir=/usr/bin --filename=composer

Agora,  acesse a pasta do seu projeto e inicie o composer com o comando abaixo:

# composer init

Veja o vídeo abaixo: [ As opções em colchetes serão definidas caso pressione [ ENTER ] ]

Após a configuração inicial do composer, observe que foi criado um arquivo chamado composer.json:

{
"name": "jackson/projeto",
"description": "Meu projeto",
"type": "project",
"license": "MIT",
"authors": [
{
"name": "Jackson de Oliveira",
"email": "[email protected]"
}
],
"minimum-stability": "dev",
"require": {}
}

Após gerar o arquivo composer.json, realize a instalação dos arquivos de autoload com o comando abaixo:

# composer install

Após a execução do comando acima observe que na pasta do seu projeto foi criado agora uma pasta chamada vendor.  Vamos agora instalar uma dependência em nosso projeto, para isso, acessaremos o site https://packagist.org e localizaremos o package phpmailer. Para instalar este pacote em nosso projeto, podemos realizá-lo de duas formas:

A primeira é adicionando o texto “phpmailer/phpmailer”: “~6.0” no nosso arquivo composer.json, conforme abaixo:

{
"name": "jackson/projeto",
"description": "Meu projeto",
"type": "project",
"license": "MIT",
"authors": [
{
"name": "Jackson de Oliveira",
"email": "[email protected]"
}
],
"minimum-stability": "dev",
"require": {
"phpmailer/phpmailer": "~6.0"
}
}

e em seguida realizar a atualização do composer com o comando abaixo:

# composer update

A segunda opção é executar diretamente o comando abaixo:

# composer require phpmailer/phpmailer

Para utilizar o phpmailer em seu projeto é necessário inserir um require e utilizar os namespaces disponíveis. Veja abaixo:

<?php
require 'vendor/autoload.php'; // Autoload do composer
use PHPMailer\PHPMailer\PHPMailer; // Namespaces do package
use PHPMailer\PHPMailer\Exception;
$mail = new PHPMailer(true);

Mais informações podem ser encontradas no site do projeto https://getcomposer.org/doc/ e  para conhecer mais pacotes disponíveis para instalação no composer, acesse https://packagist.org/.