Beruflich Dokumente
Kultur Dokumente
This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing
process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and
many iterations to get reader feedback, pivot until you have the right book and build traction once
you do.
2015 Nanderson Castro
Agradeo a DEUS pela fora concedida para criar esse material, agradeo em especial a minha
esposa por me aguentar em minha carreira e em minhas sadas para eventos. Agradeo tambm
aos meus amigos da comunidade PHP Maranho, comunidade essa que participo ativamente e
creso bastante a cada dia, atravs das interaes existentes na mesma. Agradeo minha familia
por sempre acreditar e incentivar o meu trabalho. Por fim, agradeo a minha beb, por ela
tambm que tenho foras para continuar gerando contedos e divulgando conhecimento. Enfim,
obrigado a voc leitor, por ter adquirido este e-book. Espero contribuir com sua carreira profissional
e com seu crescimento!
Contents
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
4
Introduo
Ol, seja bem-vindo ao nosso e-book sobre o micro framework Silex, neste e-book abordaremos todo
o poder desse micro framework criado por Fabien Potencier. O Silex um micro framework baseado
nos componentes do Symfony e foi criado para ser focado em aplicaes pequenas, extensveis e
facilmente testveis!
Em nosso e-book abordaremos a utilizao desse fw com prtica do comeo ao fim e vamos criar
uma API de eventos como estudo de caso. Atravs dessa API pretendemos mostrar tudo o que o
Silex nos disponibiliza para a criao de aplicaes utilizando suas ferramentas. Veremos como ele
poder ser facilmente estendido e utilizaremos testes em nossa API do comeo ao fim, para torna-la
mais consistente possvel!
Por fim conheceremos o Google App Engine, um dos produtos do Google Cloud Platform. Nesta
sesso abordaremos todo o processo de deploy de nossa API e durante esse deploy mostraremos os
conceitos necessrios sobre o Google Cloud Platform e sobre o Google App Engine.
Embarque conosco nessa jornada! Esperamos que esse conhecimento possa te ajudar profissionalmente e no pouparemos esforos para oferecer o melhor durante sua leitura!!
https://cloud.google.com
Instalao
Para instalar o Silex em nossos projetos muito simples, precisamos apenas do composer para
gerenciar nossas dependncias. Mas afinal o que o composer?! O composer um gerenciador de
dependncias para aplicaes PHP, ele baseado nas GEMs do Ruby e no NPM do Node.JS. Com o
composer voc pode facilmente gerenciar a instalao de pacotes de terceiros, bem como preparar o
seu pacote para que ele fique disponivel para os desenvolvedores que utilizam essa ferramenta. Tudo
que precisaremos de um arquivo composer.json na raiz de nosso projeto. Utilizaremos api-events
como nome do nosso folder.
Na raiz desse folder crie um arquivo composer.json com o seguinte contedo:
1
2
3
4
5
{
"require" : {
"silex/silex" : "^1.2"
}
}
O comando acima vai baixar e compilar o composer.phar, arquivos .phar so extenses executveis
do PHP. Agora temos o arquivo de configurao e o Composer em nosso projeto, agora precisamos
instalar nossas dependncias, ou seja, no nosso caso o Silex. muito simples realizar a instalao
dos pacotes, na raiz do seu projeto execute o seguinte comando:
php composer.phar install
Pressuponho aqui que voc tenha o php-cli disponivel em seu terminal. O camando acima ir
verificar o arquivo composer.json e logo em seguida baixar o Silex para voc, conforme requerido
no arquivo json, na verso 1.2. Aps tudo concludo, voc deve ter uma imagem semelhante a essa:
http://php.net/phar
O Composer instalou o Silex bem como as dependncias utilizadas pelo mesmo. O Composer baixa
e instala as dependncias do nosso projeto dentro da pasta vendor/. Alm de baixar, ele tambm
cria/mapeia os namespaces dos pacotes e cria um autoload para ns, atravs desse autoload teremos
acesso a todos os pacotes baixados at o momento.
comando:
echo "<?php " > index.php
Acima crio o arquivo index.php e adiciono a abertura de nosso cdigo PHP. Beleza, vamos continuar!
Abaixo segue o cdigo na integra do nosso index, em seguida comentarei o mesmo!
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
use Silex\Application;
require 'vendor/autoload.php';
$app = new Application();
$app->get('/', function(){
return 'Hello World';
});
$app->run();
Na linha 3 informo ao meu script que desejo utilizar o Silex, informando seu namespace Silex\Application.
Para ter acesso aos namespaces dos pacotes baixados, como comentei anteriormente sobre o
autoload, precisamos adicionar o mesmo em nosso index, para isso utilizamos o require na linha
5. Na linha 7 simplesmente instanciamos nosso micro fw. Como comentamos, o Silex possui um
poderoso sistema de rotas e das linhas 9 a 11, utilizamos o mtodo get. O mtodo get manipula as
requisies GET vindas do client, no nosso caso estamos fazendo o seguinte:
Quando o cliente realizar uma requisio do tipo GET em nossa rota raiz, referenciada atravs da /,
ns queremos executar o que for passado dentro do callback, o segundo parmetro do mtodo get
do Silex\Application. Como estamos querendo apenas realizar/printar um Hello World, vamos
retornar essa string em nosso callback para a rota raiz.
E por fim, para que as respostas emitidas pelo Silex sejam enviadas ao browser ou a quem as solicitou,
utilizamos o mtodo run em nossa linha 13. Ao rodar nosso app no browser, temos a seguinte
resposta:
Hello World
Podemos perceber o quo simples , utilizar esse micro framework, atravs dos processos aqui vistos.
Em nossos prximos captulos comearemos a aprofundar-nos mais e mais nesta ferramenta. Por
hora, pratique os conhecimentos at aqui passados! Nos vemos no prximo capitulo!