Criando e Consumindo
WebServices com CakePHP
                e Renan Gonçalves
Renan Gonçalves


•   CakePHP Core Developer desde Julho/2008 e atualmente trabalha na
    CakeDC

•   Pregador de boas práticas

•   Entusiasta jQuery

•   Gosta de jogar Tennis, Basquete e fazer Natação
CakePHP


• Framework   MVC em PHP

 • Suporta   PHP 4 e PHP 5 nas versões 1.x

 • Suporta   apenas PHP 5 na versão 2.x

• http://www.cakephp.org
Web Service


Web service é uma solução utilizada na integração de
sistemas e na comunicação entre aplicações diferentes.
                         http://pt.wikipedia.org/wiki/Web_service
Comunicação entre Sistemas
HTTP como meio de transporte


   Protocolo estável, simples e escalável
Independente


Sistema Operacional e Linguagem de Programação
Padrões abertos


XML, XML-RPC e SOAP
REST


•   Stateless

•   Orientado a Recurso (Resource-Oriented)

•   Representações independentes (baseadas no Content-Type)

•   Implementa os quatro verbos (Get, Post, Put e Delete)
Verbo             Href           Ação
                Não RESTful
Get       /contatos            Listar
Post      /contatos/add        Criar
Get       /contatos/view/1     Visualizar
Post      /contatos/edit/1     Editar
Get       /contatos/delete/1   Remover
                Não RESTful
Get       /contatos            Listar
Post      /contatos            Criar
Get       /contatos/1          Visualizar
Put       /contatos/1          Editar
Delete    /contatos/1          Remover
Chega!!! Quero ver código!
Criando a Aplicação


Use bake a seu favor, sempre
contatos.sql
renan@raizen Sites $ cake bake contatos
renan@raizen Sites $ cd contatos
renan@raizen contatos $ cake bake all
http://contatos.localhost/contatos
Transformando em WebService


Uma vez a aplicação pronta, o resto é fácil
config/routes.php
controllers/contatos_controller.php
views/contatos/xml/index.ctp
http://contatos.localhost/contatos.xml
Dúvidas



  ?
Obrigado!


   Twitter: @renan_saddam
E-mail: renan.saddam@gmail.com

Criando Webservices RESTFul com CakePHP