domingo, 13 de janeiro de 2013

Slim Framework: RESTful sem complicações

O que é?


É um framework PHP que ajuda no desenvolvimento rápido de aplicações e APIs, baseadas ou não em REST.

O que é REST?


A REST (Transferência do Estado Representativo) é pretendida como uma imagem do design da aplicação se comportará: uma rede de websites (um estado virtual), onde o usuário progride com uma aplicação selecionando as ligações (transições do estado), tendo como resultado a página seguinte (que representa o estado seguinte da aplicação) que está sendo transferida ao usuário e apresentada para seu uso. Dr.Roy Fielding


Resumindo RESTful...


O termo se usa no sentido mais amplo para descrever qualquer interface web simples que utiliza XML e HTTP (ou YAML, JSON, ou texto puro), sem as abstrações adicionais dos protocolos baseados em padrões de trocas de mensagem como o protocolo de serviços web SOAP.

No que o Slim Framework pode ajudar?


Ele ajuda a construir rapidamente aplicações baseadas em REST. Ele é tão fácil de usar, que você pode integra-lo com qualquer framework que ja esteja usando ou então desenvolver um middleware para sua aplicação.

Mas como isso funciona?


Digamos que você queira gerar listas dinâmicas em seu site ou sistema. Lista de clientes, fornecedores, produtos, etc... Mas você não quer que isso retorne em apenas uma requisição AJAX, pois vai precisar dessas informações em diversas telas, em algumas somente clientes e produtos, em outra fornecedores e produtos, outra somente com clientes... Esse tipo de coisa exige um pouco mais de disciplina e organização de código.

É aí que entra nosso "amigo" Slim Framework!

Você  mapeia onde devem cair as requisições e ele controla tudo. Respondendo conforme necessário.

Por exemplo:

Você cria um arquivo o qual vai mapear as requisições:
mapa.php


    <?php
    $app = new \Slim\Slim();

    $app->get('/clientes/:idade', function ($idade) {
        echo json_encode($bancoDeDados->buscaClientes($idade));
    });
    
    $app->get('/fornecedores/', function () {
        echo json_encode($bancoDeDados->buscaFornecedores());
    });
    
    $app->get('/produtos/:letra_inicial', function ($letra_inicial) {
        echo json_encode($bancoDeDados->buscaProdutos($letra_inicial);
    });

    $app->run();
    ?>

Quando alguma requisição HTTP for feita para "http://suaaplicacao.com/clientes/20", a resposta vai ser uma estrutura JSON com todos os clientes que tem 20 anos de idade.

A mesma coisa vai acontecer com as outras, "http://suaaplicacao.com/fornecedores/" e "http://suaaplicacao.com/produtos/g";

Isso são apenas exemplos de requisição por GET.

Com o Slim, alem de GET, podemos mapear com POST, DELETE, PUT, entre outros.

Por onde começar?


Acesse o site oficial do projeto: http://www.slimframework.com/
La você vai encontrar tudo que precisa.

Comentem e perguntem, ficarei feliz em ajudar no que eu puder.

2 comentários:

  1. Legal seu artigo, difícil encontrar explicações boas sobre o SLIM em português e rapidas como você fez.
    Parabéns pelo artigo.
    Até mais.

    ResponderExcluir