Frameworks php

Iniciando Com O Micro-framework Silex – Parte 1

Olá Pessoal,

Estarei apresentando para vocês em uma sequência de posts, o básico para iniciar o desenvolvimento com Silex, o micro-framework baseado em componentes do Symfony2. Utiliza Pimple e foi inspirado pelo Sinatra. O Silex funciona a partir da versão 5.3 do PHP.

Pois bem, o Silex utiliza recursos como o HttpKernel(o coração do Symfony2) para requests e responses. Um outro recurso muito útil, é que o Silex utiliza o Pimple(DIC) para injeção de dependência, facilitando o uso de bibliotecas de terceiros e deixando ridiculamente fácil abstrair ainda mais o seu código.

Outro ponto importante do Silex, é que você consegue desenvolver uma aplicação utilizando apenas um arquivo, se desejar. Obviamente, com o crescimento de sua aplicação, se torna inviável deixar todo seu código em um único arquivo, mas irei mostrar nos próximos posts(continuação desse) uma melhor forma de separar seu código.

Não irei utilizar TDD e não vou mostrar o uso do git nos posts dessa mini apresentação, pois o foco neste caso será mostrar somente a utilização do Silex. Para essas abordagens, existem diversos ótimos posts já publicados que você encontra facilmente dando uma “googlada”. Talvez eu faça algum post futuramente para tratar destes assuntos.

Chega de blá blá blá e vamos ao que interessa.

Antes de mais nada, é necessário estar ciente que você está utilizando no mínimo o PHP 5.3 para que funcione perfeitamente sua aplicação. Caso isso ainda não esteja funcionando em sua máquina, aconselho atualizar a versão de seu PHP antes de continuar. Let’s go!

Primeiro passo

Para instalarmos o Silex, você precisa ter em sua máquina o composer(gerenciador de pacotes). Para baixá-lo, você pode acessar o site oficial em https://getcomposer.org e seguir as instruções para instalar em sua máquina. Não irei abordar sobre sua instalação nesse post, mas recomendo para quem nunca o utilizou, antes de prosseguir, veja o post que o André Cardoso publicou nesse link http://www.phppr.net/composer-para-iniciantes.

Vamos criar nossa estrutura de diretórios para trabalhar com o Silex. Criarei no entanto uma pasta chamada iniciando-com-silex, e dentro dela vamos criar o nosso arquivo composer.json que será responsável pela instalação de nossos pacotes através do composer.

Nosso arquivo composer.json ficará assim:

{
	"require": {
		"silex/silex": "~1.1"
	}
}

Percebam que neste arquivo, utilizamos somente a requisição do Silex e mais nada. Apenas com isso, conseguimos desenvolver uma aplicação com Silex. Agora vamos baixar o composer dentro da pasta do projeto, que terá o nome de composer.phar e vamos instalar as dependências através dele utilizando o seguinte comando:

php composer.phar install

Neste momento, nosso projeto deve estar mais ou menos assim:

Img02

Percebam que foi criado automaticamente a pasta vendor e o arquivo composer.lock dentro de nosso projeto, isso quer dizer que sua instalação via composer deve estar tudo ok e já podemos fazer o básico com o Silex.

Segundo passo

Agora que já temos os pacotes necessários para utilizar o Silex, quero que prestem atenção no arquivo autoload.php que se encontra dentro da pasta vendor. Iremos chamar este arquivo em nossa aplicação para que tenhamos todos os recursos do Silex disponível para nossa utilização.

Vamos criar uma pasta chamada web que ficará na raiz de nosso projeto. Dentro desta pasta iremos criar o arquivo index.php que conterá nosso código, não se preocupe por enquanto, iremos somente utilizá-lo para ver o funcionamento de nossas rotas, que por enquanto é o que vai nos interessar.

Criado o arquivo index.php, entre com o seguinte código:

O código acima, nada mais temos do que a requisição do arquivo autoload.php que fica dentro da pasta vendor. Logo abaixo, temos a instanciação do Silex, que é onde tudo começa e, mais abaixo, temos nossa primeira implementação com requisição via GET, perceba que estamos querendo acessar a página principal de nosso projeto quando passamos a barra(“/”) como primeiro parâmetro, e logo em seguida retornamos um “Olá mundo!” dentro de nossa closure. Seu projeto deverá estar com essa cara:

Img04

Vamos testar se está tudo ok?

Se você estiver utilizando PHP 5.4+, pode utilizar o servidor embutido para fazer os testes, o comando ficará dessa forma:

php -S localhost:8080 -t web

Desta maneira, abra o seu navegador e insira o endereço localhost:8080. Se tudo estiver ok, você verá o seguinte resultado:

Img03

Terceiro Passo

Vamos ir um pouco mais além?
Abra o seu arquivo index.php e insira uma nova chamada de rota da seguinte forma:

Neste momento, acesse sua aplicação utilizando /ola/paulo. Você deverá ter o seguinte resultado:

Img05

Neste exemplo, utilizamos um recurso básico onde passamos via GET uma variável chamada {name} e recebemos ela em nossa closure dentro de function($name). Em nosso return, utilizamos um sprintf somente para juntar a variável name com nossa string Olá …!

Legal né? =)

Bom, por hoje é só pessoal. Irei ajustar meus horários para poder publicar o quanto antes um pouco mais sobre o Silex. Aguardem os próximos posts, espero que tenham gostado, deixem suas críticas, opiniões e/ou melhorias.

Veja mais em:

http://silex.sensiolabs.org
http://symfony.com

Abraço a todos!

Iniciando Com O Micro-framework Silex – Parte 1 was originally published by Paulo Martinhago at Frameworks PHP on September 26, 2014.

Powered by WPeMatico