Escolar Documentos
Profissional Documentos
Cultura Documentos
Ademir Mazer Jr
ademir.mazer.jr@gmail.com
Contents
1 Gerenciamento de dependncias em PHP
2 Composer
3 Caractersticas
4 Problema/Soluo
5 Instalando
7 Configurando
8 Vamos praticar
9 composer.json
10 instalando as dependncias
11 instalando as dependncias
12 Autoload
13 Autoload
14 slug
6
1
15 Atualizando
Figure 1: Composer
Composer
Um gerenciador de dependncias para PHP
inspirado no npm (nodeJS) e bundler (do Ruby)
Caractersticas
Simplicidade para manter dependncias do projeto
Consistncia das bibliotecas com as verses corretas
Reduo do peso de seu projeto, no necessrio embutir
bibliotecas no versionamento
Facilita o trabalho em equipe
Problema/Soluo
Seu projeto depende de vrias bibliotecas/frameworks
Estas bibliotecas podem depender de outras (inderetas para seu
projeto)
Voc declara somente as dependncias diretas de seu projeto
O Composer encontra as verses correspondentes das mesmas e
as instala
O Composer instala todas as dependncias indiretas
Instalando
1. Siga os passos descritos no endereo:
https://getcomposer.org/download
ou
2. Baixe o phar diretamente
https://getcomposer.org/composer.phar
Configurando
Arquivo chamado composer.json na raiz do seu projeto
Vamos praticar
Crie um diretrio para este exemplo: composer-teste
Copie o arquivo composer.phar para dentro deste diretrio
Crie um arquivo, no raiz deste diretrio, chamado: composer.json
Adicione o contedo seguir a este arquivo
9
{
composer.json
}
],
"require": {
"php": ">=5.2.8",
"kevinlebrun/slug.php": "1.*"
}
10
instalando as dependncias
11
instalando as dependncias
Este comando far o composer ler as configuraes setadas no
arquivo json
instalar todas as bibliotecas/pacotes necessrios para a sua
aplicao
se estas mesmas bibliotecas possurem dependncias, as mesmas
sero resolvidas
desta forma, ao instalar um pacote qualquer todas suas dependncias so resolvidas automaticamente.
Ainda: cria uma pasta chamada vendor e o arquivo composer.lock
12
Autoload
Agora temos:
O composer gerenciando as dependncias
as dependncias definidas em nosso arquivo composer.json
5
13
Autoload
crie um arquivo index.php e inclua o autoloader do composer
<?php
header('Content-Type: text/html; charset=utf-8');
require 'vendor/autoload.php';
14
slug
o cdigo completo do arquivo index.php
<?php
header('Content-Type: text/html; charset=utf-8');
require 'vendor/autoload.php';
$slugifier = new \Slug\Slugifier();
// Definindo tratamento de caracteres com acentuao
$slugifier->setTransliterate(true);
$frase = 'Frase com acentuao para teste de criao de slug';
$slug = $slugifier->slugify($frase);
echo '<b>Frase natural: </b>' . $frase . "<br /><br />";
echo '<b>Frase com aplicao de slug: </b>' . $slug . "<br /><br />";
15
Atualizando
15.1
Dvidas ??