DEV Community

Cover image for Composer init: Como começar a utilizar em seus projetos?
Antonio Nunes Moreira Junior
Antonio Nunes Moreira Junior

Posted on

3 3

Composer init: Como começar a utilizar em seus projetos?

Composer é uma ferramenta para gerenciamento de dependências em PHP, com ele é possível instalar, atualizar e gerenciar bibliotecas em seus projetos de forma padronizada e simples.

Como para algumas pessoas o composer ainda é um mistério, o intuito deste post é mostrar como baixar, configurar e utilizar o composer de forma simples em um ambiente Linux

Nesse artigo vou abordar a utilização do composer em um projeto novo, porém, todos comandos utilizados devem funcionar em um projeto já iniciado que não possua um composer.json

Instalando o composer

Para utilizar o composer é necessário primeiramente possuir o PHP previamente instalado em sua maquina na versão 5.3.2 ou superior, como não é o foco desse artigo a instalação e configuração do PHP em si, recomendo que consulte a documentação oficial para obter o tutorial de como instala-lo em sua maquina.

Para iniciar vamos criar um diretório chamado teste-composer, e baixar composer via curl nesse diretório com o seguinte comando:

mkdir teste-compose
cd teste-compose
curl -sS https://getcomposer.org/installer | php

Enter fullscreen mode Exit fullscreen mode

Usando o composer

Caso não tenha seguido os passos acima para baixar o composer em sua maquina, vamos criar um diretório chamado teste-composer, caso já tenha feito isso no passo anterior, basta entrar nesse diretório e criar um arquivo chamado composer.json com o seguinte conteúdo:

{
    "name": "nunesjr1993/nome_do_projeto",
    "description": "Breve descrição do projeto",
    "authors": [
        {
            "name": "Antonio Nunes Moreira Junior",
            "email": "nunesjr1993@gmail.com"
        }
    ],
    "require": {
        "php": ">=5.6",
        "monolog/monolog": "2.0.*"
    }
}
Enter fullscreen mode Exit fullscreen mode

Após isso vamos rodar o comando:

php composer.phar install
Enter fullscreen mode Exit fullscreen mode

Rodando esse comando o composer irá ler o arquivo composer.json e criar o diretório /vendor onde será colocadas as dependências informadas no bloco de require do composer.json, também será criado um arquivo chamado composer.lock onde é especificado exatamente as versões dos pacotes instalados atualmente no projeto, por ultimo gerar o arquivo de autoload dentro da vendor, conforme pode ver no retorno do terminal abaixo:

Imagem ilustrativa

Importante: São incluídas automaticamente as dependências de desenvolvimento (também pode ser incluído com parâmetro require-dev) quando o PHP da maquina a qual esta executando o install possuir o XDebug configurado.

Incluindo autoload e utilizando as bibliotecas

Para demonstrar na pratica o funcionamento de um biblioteca baixada e gerenciada pelo composer, utilizamos uma biblioteca chamada monolog, que trabalhar com logs em PHP de forma simples e padronizada, para utilizar a biblioteca em questão que instalamos em nosso projeto, precisamos importa-la, como o composer gera um arquivo de autoload que permite realizar a importação de todos os pacotes baixados e configurados em seu projeto com somente um require, vamos criar um arquivo chamado teste.php dentro do nosso diretório teste-composer com o seguinte conteúdo:

<?php

require_once __DIR__ . '/vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$log = new Logger('composer');
$log->pushHandler(new StreamHandler('teste.log', Logger::WARNING));

// add records to the log
$log->warning('Isso é um log.');
Enter fullscreen mode Exit fullscreen mode

Para executar esse teste basta rodar o comando abaixo dentro do diretório do projeto onde criou o teste.php:

php teste.php
Enter fullscreen mode Exit fullscreen mode

Após executar esse comando não deve obter nenhum retorno no terminal, porém, se você listar os arquivos novamente vai visualizar o arquivo de log gerado, conforme pode ver na imagem abaixo:

Imagem ilustrativa

Conclusão

Composer é uma ferramenta muito poderosa que facilita e padroniza a maneira de trabalhar com dependências e bibliotecas em PHP, então porque não começar a utilizar a seu favor?

Referencias

https://getcomposer.org
https://tableless.com.br/composer-para-iniciantes
https://www.alura.com.br/curso-online-php-composer

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay