Criando e consumindo Web Services (REST) com o CakePHP
-
Upload
2km-interativa -
Category
Technology
-
view
6.922 -
download
0
description
Transcript of Criando e consumindo Web Services (REST) com o CakePHP
![Page 1: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/1.jpg)
1º Encontro de CakePHP em São Paulo
Criando e consumindo web services (REST) com o framework CakePHP
![Page 2: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/2.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 3: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/3.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 4: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/4.jpg)
Apresentação
Carlos Pires (Cadu) é bacharel em ciência da computação pela Universidade FUMEC. Desenvolve e é apaixonado pela web e por software livre desde 1999.
Natural de Belo Horizonte, trabalhou com Java(JEE) por mais de 6 anos em diversas empresas da capital mineira. Ultimamente tem se dedicado ao CakePHP e à jQuery.
Quando não está andando de bike, está estudando línguas (inglês e espanhol), curtindo um samba de raíz ou tomando uma cervejinha com os amigos.
![Page 5: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/5.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 6: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/6.jpg)
Motivação
Divulgar o framework CakePHP Retribuir à comunidade de software livre Combater o código 'espaguete' Mostrar que programar pode ser divertido!
![Page 7: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/7.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 8: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/8.jpg)
O que é um web service?
“Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes.”
Fonte: http://pt.wikipedia.org/wiki/Web_service
![Page 9: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/9.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 10: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/10.jpg)
Criando uma aplicação RESTful no CakePHP
Ativar as rotas para o acesso REST (con!g/routes.php)
Utilizar o component RequestHandler e alterar os métodos na classe de controle
Criar as páginas da visão (views/controller/xml)
![Page 11: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/11.jpg)
Criando uma aplicação RESTful no CakePHP
Router::mapResources('posts');
Router::parseExtensions('xml');
con!g/routes.php
![Page 12: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/12.jpg)
Criando uma aplicação RESTful no CakePHP
<?phpclass PostsController extends AppController {
var $name = 'Posts';var $helpers = array('Html', 'Form');var $components = array('RequestHandler');
function index() { $this->Post->recursive = 0; if ($this->RequestHandler->isXml()) { $this->set('posts', $this->Post-
>find('all',array('fields'=>array('titulo')))); } else { $this->set('posts', $this->paginate()); }}
?>
controllers/posts_controller.php
![Page 13: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/13.jpg)
Criando uma aplicação RESTful no CakePHP
<posts><?php echo $xml->serialize($posts); ?>
</posts>
views/posts/xml/index.ctp
![Page 14: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/14.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 15: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/15.jpg)
Consumindo o web service da aplicação criada
Criar os métodos na classe de controle para acessar o web service
Criar as páginas da visão para exibir o conteúdo
![Page 16: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/16.jpg)
Consumindo o web service da aplicação criada
<?phpApp::import('Core',array('HttpSocket','Xml'));
class WsreadersController extends AppController {
var $uses = null;
function index() { $this->autoRender=false; $httpSocket = new HttpSocket(); $url = 'http://127.0.0.1/2kmwebservice/posts/index.xml'; $retorno = $httpSocket->get($url); $xml = new Xml($retorno); pr($xml->toArray());}
}?>
controllers/wsreaders_controller.php
![Page 17: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/17.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 18: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/18.jpg)
Criando um cliente para o Twitter
Criar os métodos na classe de controle para acessar o web service do Twitter
Criar as páginas da visão para interagir com o serviço
![Page 19: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/19.jpg)
Criando um cliente para o Twitter
<?phpApp::import('Core',array('HttpSocket','Xml'));
class WsreadersController extends AppController {
var $uses = null;
function twitter(){ $this->autoRender=false; $HttpSocket = new HttpSocket(); $header = array('auth' => array( 'method' => 'Basic', 'user' => 'usuario', 'pass' => 'senha' )); $url = "http://twitter.com/account/verify_credentials.xml"; $resposta = $HttpSocket->get($url, null, $header); $xml = new XML($resposta); $array = $xml->toArray(); pr($array);}
...
controllers/wsreaders_controller.php
![Page 20: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/20.jpg)
Criando um cliente para o Twitter
...
function updatetwitter(){ if (!empty($this->data)) {
$this->autoRender=false;$HttpSocket = new HttpSocket();$header = array('auth' => array( 'method' => 'Basic', 'user' => 'cursocake', 'pass' => 'cursocake'));$url = "http://twitter.com/statuses/update.xml"; $status = array('status' => $this->data['Wsreader']['status']);$resposta =$HttpSocket->post($url, $status, $header); $xml = new XML($resposta);$array = $xml->toArray();pr($array);}
}}
?>
controllers/wsreaders_controller.php
![Page 21: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/21.jpg)
Criando um cliente para o Twitter
<div class="posts form"><?php echo $form->create('Wsreader',array('action'=>'updatetwitter'));?>
<fieldset> <legend><?php __('Atualizar status no twitter');?></legend>
<?php echo $form->input('status');?></fieldset>
<?php echo $form->end('Submit');?></div>
views/wsreaders/updatetwitter.ctp
![Page 22: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/22.jpg)
Agenda
Apresentação
Motivação
O que é um web service ?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 23: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/23.jpg)
Referências
Site o!cial no Brasil do CakePHP - http://www.cakephp.com.br
Manual do CakePHP em português - http://book.cakephp.org/pt
Artigos e tutoriais - http://bakery.cakephp.org/
Grupo do CakePHP em português - http://groups.google.com/group/cake-php-pt/
![Page 24: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/24.jpg)
Agenda
Apresentação
Motivação
O que é um web service ?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?
![Page 25: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/25.jpg)
Agradecimentos
Aos organizadores do 1º Encontro de CakePHP de São Paulo
Ao CakePHP por facilitar a minha vida ;) À comunidade pela presença
![Page 26: Criando e consumindo Web Services (REST) com o CakePHP](https://reader036.fdocuments.net/reader036/viewer/2022082310/5481b6995906b5d8048b45a3/html5/thumbnails/26.jpg)
Agenda
Apresentação
Motivação
O que é um web service?
Criando uma aplicação RESTful no CakePHP
Consumindo o web service da aplicação criada
Criando um cliente para o twitter
Referências
Agradecimentos
Perguntas?