Sie sind auf Seite 1von 11

2017­4­24 Tableless

HTML CSS JAVASCRIPT BACK-END DESIGN MOBILE WORDPRESS MAIS CATEGORIAS

COMPOSER PARA INICIANTES

Composer é uma ferramenta para gerenciamento de dependências para o PHP que vem
ganhando espaço e se tornando cada vez mais indispensável. Com algumas poucas
linhas de configurações você define todas as bibliotecas de terceiros ou mesmo suas que
deseja/precisa utilizar em seu projeto, o composer encarrega-se de baixá-las e criar um
autoloader deixando-as prontas para uso. Para muitos o composer ainda é um mistério
então o intuito deste post é mostrar ao usuário que ainda não conhece como baixar,
configurar e utilizar o composer de forma básica.

por Andre Cardoso 18/03/2014

Composer é uma ferramenta para gerenciamento de dependências para o PHP que


vem ganhando espaço e se tornando cada vez mais indispensável. Com algumas
poucas linhas de configurações você define todas as bibliotecas de terceiros ou
mesmo suas que deseja/precisa utilizar em seu projeto, o composer encarrega-se de
baixá-las e criar um autoloader deixando-as prontas para uso.

Para muitos o composer ainda é um mistério então o intuito deste post é mostrar ao
usuário que ainda não conhece como baixar, configurar e utilizar o composer de forma
básica.

Do que preciso?
Basicamente precisará do PHP em sua versão a partir da 5.3.2.

https://tableless.com.br/composer­para­iniciantes/ 1/11
2017­4­24 Tableless

Os exemplos criados neste post serão baseados em ambiente


Linux, em sua maioria funcionará da mesma forma no Mac OS X
mas para o Windows recomendo que leia a documentação oficial.
O conceito é o mesmo nos três Sistemas Operacionais no entanto
no Windows há algumas mínimas diferenças.

Como começo?
Primeiramente você precisa realizar o download do phar do composer. O phar é um
empacotamento de uma aplicação e é utilizado para fornecer bibliotecas e
ferramentas nas quais o desenvolvedor não tem de se preocupar com sua estrutura.
Em outras palavras, é pegar e usar.

Para que você obtenha o composer há duas maneiras distintas. Através da


biblioteca cURL e através do próprio PHP. Basta selecionar uma das opções abaixo e
executar em seu terminal.

Instalando via cURL:

curl -sS https://getcomposer.org/installer | php

Instalando via PHP:

php -r “readfile(‘https://getcomposer.org/installer’);” | php

Existem outras maneiras de instalar, na verdade são configurações mais avançadas de


instalação que não serão abordadas aqui por se tratar de ser um conteudo voltado à
iniciantes.

https://tableless.com.br/composer­para­iniciantes/ 2/11
2017­4­24 Tableless

Qual o próximo passo?


Antes de você sair querendo fazer as coisas acontecerem precisamos passar alguns
conceitos básicos.

O composer facilita o gerenciamento de dependências em seus projetos, com isso


houve a necessidade de uma padronização para a interoperabilidade entre os mais
diversos frameworks PHP do mercado. Mas detalhe que o composer não limita-se à
uso somente em frameworks, você pode tranquilamente utilizá-lo em seus projetos
com PHP puro desde que siga as recomendações da FIG (Framework Interoperability
Group).

O arquivo de configurações
Agora que você já tem uma noção do que é o composer está na hora de botar a mão
na massa.

Primeiramente crie um arquivo chamado composer.json. Este arquivo possuirá as


configurações de dependências de sua aplicação em formato Json.

Abaixo segue um esqueleto básico do _composer.json_ – o arquivo em que as


dependências serão descritas, em seguida o mesmo será esclarescido.


    "name": "Nome do projeto", 
    "description": "Breve descrição do que a aplicação se propoe a fazer", 
    "authors": [ 
        { 
            "name": "Seu nome", 
            "email": "seu‐email@seu‐dominio.com" 
        } 
    ], 
    "require": { 
        "php": ">=5.2.8" 
    } 
}

https://tableless.com.br/composer­para­iniciantes/ 3/11
2017­4­24 Tableless

O “name” é o nome de sua aplicação. Esta marcação é opcional mas recomendada.

O “description” é uma breve descrição do que sua aplicação se propõe a fazer.


Também opcional.

Em “authors” aparecem os créditos de desenvolvedores que contribuiram com o


projeto.

O “require” basicamente deixa claro quais são as dependências de sua aplicação.


Neste caso se a versão do PHP for abaixo da 5.2.8 simplesmente uma mensagem de
erro será lançada ao instalar as dependências lhe informando que não é possível
prosseguir por nem todos os requisitos estarem satisfeitos.

Como você pode ver acima este é o esqueleto de uma aplicação muito básica, sem
configurações avançadas e sem indicação de nenhuma biblioteca de terceiro.

Ok, mas e agora?


Agora que você já tem o esqueleto de seu composer configurado em sua aplicação
falta incluir alguns pacotes. O composer utiliza como seu repositório o Packagist onde
qualquer desenvolvedor pode criar seus próprios pacotes e disponibilizá-los para a
comunidade semelhante o github. O Packagist lhe fornece o total de instalações dos
pacotes por dia, mês e o total. O mais legal é que estas estatísticas são fiéis, ou seja, se
alguém remover um pacote do seu _composer.json_ o total de instalações é reduzido.
Com esta informação restam contagens apenas aplicações que realmente estão
utilizando determinado pacote.

Um pequeno exemplo.
Para fins didáticos mostrarei aqui a utilização de uma biblioteca para slug criada
por Kevin Le Brun, o slug.php. Na seção em que são definidos os requerimentos

https://tableless.com.br/composer­para­iniciantes/ 4/11
2017­4­24 Tableless

(require) no arquivo _composer.json _basta adicionar logo abaixo da linha que define


que o necessita do PHP o nome do pacote desejado e a sua versão. Neste caso o
pacote é “kevinlebrun/slug.php” e a versão é “1.*”. Com isso a nova estrutura do
composer.json é:

... 
"require": { 
        "php": ">=5.2.8", 
        "kevinlebrun/slug.php": "1.*" 

...

Muito bem, agora está tudo pronto para que você veja o composer em ação. Na pasta
raíz de sua aplicação (que é a mesma que o _composer.json_ e o _composer.phar_ se
encontram) rode o comando php composer.phar install. Este comando fará o
composer ler as configurações setadas no arquivo json e instalar todas as
bibliotecas/pacotes necessários para a sua aplicação e também estas mesmas
bibliotecas que possuírem dependências terão as mesmas resolvidas. Pense no
composer mais ou menos como o apt-get do Linux debian-like. Nele, ao instalar um
pacote qualquer todas suas dependências são resolvidas automaticamente.

Perceba que na pasta em que encontra-se sua aplicação agora existem a pasta vendor,
um arquivo _composer.phar_ (que já encontrava-se ali), um

https://tableless.com.br/composer­para­iniciantes/ 5/11
2017­4­24 Tableless

arquivo _composer.json_ (que já encontrava-se ali) e um arquivo _composer.lock_ –


que é o arquivo gerado automaticamente após a instalação com sucesso.

O próximo passo (mais um)


Agora já temos tudo. O composer gerenciando as dependências, as dependências
definidas em nosso arquivo composer.json, e uma pasta contendo todas as
dependências necessárias juntamente com o autoloader do composer que encarrega-
se de registar todos os namespaces dos arquivos baixados na pasta vendor. Com isso
basta utilizarmos.

Crie um arquivo chamado index.php e inclua o autoloader do composer conforme o


exemplo abaixo.

<?php 
header('Content‐Type: text/html; charset=utf‐8'); 

require 'vendor/autoload.php';

https://tableless.com.br/composer­para­iniciantes/ 6/11
2017­4­24 Tableless

Importante que esteja definido que o conteúdo será exibido


utilizando a codificação UTF-8 pois problemas podem ocorrer no
tratamento de caracteres especiais como acentuações.

Com isso em mãos, basta apenas utlizarmos nosso slug.php.

$slugifier = new \Slug\Slugifier(); 

// Definindo tratamento de caracteres com acentuação 
$slugifier‐>setTransliterate(true);  

$frase = 'Frase com acentuação para teste de criação de slug'; 

$slug = $slugifier‐>slugify($frase); 

echo '<b>Frase natural: </b>' . $frase . "<br /><br />"; 
echo '<b>Frase com aplicação de slug: </b>' . $slug . "<br /><br />";

Perfeito, agora basta exibir no seu browser ou mesmo via terminal.

 
https://tableless.com.br/composer­para­iniciantes/ 7/11
2017­4­24 Tableless

Acessando nosso localhost através de um browser o resultado será este

Complementando
O comando php composer.phar install é utilizado somente uma vez em seu
repositório. Para qualquer alteração do _composer.json_ que caracteriza-se como uma
nova dependência ou remoção de uma existente deve ser utilizado o comando php
composer.phar update.

O composer ainda possui um self-update em que baixa a sua última versão.


Normalmente ao rodar qualquer comando você verá uma mensagem dizendo que a
sua versão do composer precisa ser atualizada. Para isto basta o comando php
composer.phar self-update.

Finalizando
O composer está se tornando a cada dia mais utilizado entre desenvolvedores e vale
muito a pena se aprofundar no assunto.

https://tableless.com.br/composer­para­iniciantes/ 8/11
2017­4­24 Tableless

O código-fonte deste exemplo está no github para eventuais consultas neste link.

0 Comentários Tableless  Gilvan Ferreira

  Recomendar ⤤ Compartilhar Ordenar por Mais recentes

Tableless solicitou que você verifique o seu e­mail antes de postar. Enviar e­mail de verificação ×
para gilvanfcf77@hotmail.com

Iniciar a discussão...

Seja o primeiro a comentar.

TAMBÉM EM TABLELESS

Tableless Agora o Tableless é estático
7 comentários • 12 dias atrás• 26 comentários • 12 dias atrás•
Vitor Figueredo — Olá, estou recebendo José Cage — Simplesmente
este erro. Alguém poderia me ajudar? *Inovação*..Parabéns pela mudança.
https://uploads.disquscdn.c...Agradeço.

✉ Inscreva­se d Adicione o Disqus no seu siteAdicionar DisqusAdicionar 🔒 Privacidade

Últimos posts
O novo formato de arquivo do Sketch 43

Agora o Tableless é estático

Cursos online com a School of Net

Manipulando arquivos carregados por


upload no Laravel

Scrum Master e sua essência.

Logaster – Fazendo seu logo de forma


fácil

https://tableless.com.br/composer­para­iniciantes/ 9/11
2017­4­24 Tableless

Construindo um servidor GraphQL em


minutos com a Siler PHP

Categorias
geral (325)

tecnologia-e-tendências (323)

artigos (316)

técnicas-e-práticas (283)

código (241)

browsers (205)

javascript (186)

html (179)

css (176)

mercado-e-comportamento (117)

SOBRE
SOBRE O TABLELESS

CONTATO

ANUNCIE

SEJA UM AUTOR

FAZEMOS CÓDIGO FRONT-END

https://tableless.com.br/composer­para­iniciantes/ 10/11
2017­4­24 Tableless

ACOMPANHE
WEBINARS

FÓRUM

CANAL NO MEDIUM

CANAL NO TELEGRAM

COMUNIDADE
FEMUG

MEETUPCSS

PODCAST ZOFE

BRAZILJS

DEVNAESTRADA

FRONT-END BRASIL

Escrito pela e para a comunidade web brasileira. Ajude

https://tableless.com.br/composer­para­iniciantes/ 11/11

Das könnte Ihnen auch gefallen