SlideShare uma empresa Scribd logo
1º Encontro de CakePHP em São Paulo




Criando e consumindo web services
(REST) com o framework CakePHP
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?
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?
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.
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?
Motivação



    Divulgar o framework CakePHP
    Retribuir à comunidade de software livre
    Combater o código 'espaguete'
    Mostrar que programar pode ser divertido!
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?
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
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?
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)
Criando uma aplicação RESTful no CakePHP


  	Router::mapResources('posts');	

  	Router::parseExtensions('xml');	



                                      con g/routes.php
Criando uma aplicação RESTful no CakePHP


<?php	
class 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
Criando uma aplicação RESTful no CakePHP


<posts>	
        	<?php echo $xml->serialize($posts); ?>	
</posts>	


                                                   views/posts/xml/index.ctp
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?
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
Consumindo o web service da aplicação criada

<?php	
App::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
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?
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
Criando um cliente para o Twitter

<?php	
App::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
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
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
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?
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/
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?
Agradecimentos


    Aos organizadores do 1º Encontro de CakePHP
     de São Paulo
    Ao CakePHP por facilitar a minha vida ;)
    À comunidade pela presença
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?
Perguntas?




Carlos Pires
       -  E-mail: carlos.pires@2km.com.br
       -  Twitter: @cadu




        www.2km.com.br - Twitter: @2km

Mais conteúdo relacionado

PDF
Introduction to PHP - Basics of PHP
PDF
Présentation de PHP
DOC
Cryptography
PPTX
Message Broker System and RabbitMQ
PDF
Microservice With Spring Boot and Spring Cloud
PDF
Mini Curso Web Services com PHP
PPTX
PDF
Criando Webservices RESTFul com CakePHP
Introduction to PHP - Basics of PHP
Présentation de PHP
Cryptography
Message Broker System and RabbitMQ
Microservice With Spring Boot and Spring Cloud
Mini Curso Web Services com PHP
Criando Webservices RESTFul com CakePHP

Destaque (20)

PDF
REST API with CakePHP
PDF
Criando e consumindo webservice REST com PHP e JSON
PPTX
RESTful Web Development with CakePHP
PDF
APIs Rest(Ful): como fazer, por Alex Piaz
PPTX
Aws video creator
PPTX
Intro to Silex
PDF
Autenticação e Autorização - MercadoLivre Developers Conference
PPT
Recursive in CakePHP
KEY
Full-Stack CakePHP Deployment
PDF
Customize CakePHP bake
PDF
CakePHP mistakes made
PPT
9 Awesome cake php tutorials and resources
PDF
Api usando Silex
PPT
Top 50 Interview Questions and Answers in CakePHP
PDF
Tutorial de cakePHP itst
PDF
Road to CakePHP 3.0
PDF
Cakephp 3
PDF
Jquery fundamentals-book-pt-br
PDF
Advanced Querying with CakePHP 3
PPTX
REST API with CakePHP
Criando e consumindo webservice REST com PHP e JSON
RESTful Web Development with CakePHP
APIs Rest(Ful): como fazer, por Alex Piaz
Aws video creator
Intro to Silex
Autenticação e Autorização - MercadoLivre Developers Conference
Recursive in CakePHP
Full-Stack CakePHP Deployment
Customize CakePHP bake
CakePHP mistakes made
9 Awesome cake php tutorials and resources
Api usando Silex
Top 50 Interview Questions and Answers in CakePHP
Tutorial de cakePHP itst
Road to CakePHP 3.0
Cakephp 3
Jquery fundamentals-book-pt-br
Advanced Querying with CakePHP 3
Anúncio

Semelhante a Criando e consumindo Web Services (REST) com o CakePHP (20)

PPTX
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
PPTX
Conhecendo os recursos do ASP.NET Web API
PPTX
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
PDF
Introdução ao Framework CakePHP
PPT
API Apontador
ODP
Php 07 Cakephp
PDF
Meu projeto final - Neobase 2.0
PDF
Desenvolvimento para a Web com CakePHP
PPTX
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
PDF
Criar e consumir uma API RESTful no PHP Laravel.pdf
PDF
O processo de criação de um web site | By Alessandra Soares
PPTX
Uma Introdução a ASP.NET Web API
PDF
Construindo APIs RESTful com Spring
PDF
Curso de Ruby on Rails - Aula 01
ODP
Php 05 Mvc
PPTX
Interagindo com web services RPC, SOAP e REST utilizando PHP
PPT
Desenvolvendo aplicações web com o framework cakephp
PDF
Java Web - MVC básico com JSP e Servlets
PDF
Desenvolvimento ágil com Kohana framework
PDF
GUJavaSC - Combinando AngularJS com Java EE
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Conhecendo os recursos do ASP.NET Web API
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Introdução ao Framework CakePHP
API Apontador
Php 07 Cakephp
Meu projeto final - Neobase 2.0
Desenvolvimento para a Web com CakePHP
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Criar e consumir uma API RESTful no PHP Laravel.pdf
O processo de criação de um web site | By Alessandra Soares
Uma Introdução a ASP.NET Web API
Construindo APIs RESTful com Spring
Curso de Ruby on Rails - Aula 01
Php 05 Mvc
Interagindo com web services RPC, SOAP e REST utilizando PHP
Desenvolvendo aplicações web com o framework cakephp
Java Web - MVC básico com JSP e Servlets
Desenvolvimento ágil com Kohana framework
GUJavaSC - Combinando AngularJS com Java EE
Anúncio

Último (19)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Apple Pippin Uma breve introdução. - David Glotz
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Processos na gestão de transportes, TM100 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula 18 - Manipulacao De Arquivos python
COBITxITIL-Entenda as diferença em uso governança TI
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula04-Academia Heri- Tecnologia Geral 2025
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

Criando e consumindo Web Services (REST) com o CakePHP

  • 1. 1º Encontro de CakePHP em São Paulo Criando e consumindo web services (REST) com o framework CakePHP
  • 2. 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?
  • 3. 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?
  • 4. 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.
  • 5. 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?
  • 6. Motivação   Divulgar o framework CakePHP   Retribuir à comunidade de software livre   Combater o código 'espaguete'   Mostrar que programar pode ser divertido!
  • 7. 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?
  • 8. 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
  • 9. 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?
  • 10. 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)
  • 11. Criando uma aplicação RESTful no CakePHP Router::mapResources('posts'); Router::parseExtensions('xml'); con g/routes.php
  • 12. Criando uma aplicação RESTful no CakePHP <?php class 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
  • 13. Criando uma aplicação RESTful no CakePHP <posts> <?php echo $xml->serialize($posts); ?> </posts> views/posts/xml/index.ctp
  • 14. 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?
  • 15. 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
  • 16. Consumindo o web service da aplicação criada <?php App::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
  • 17. 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?
  • 18. 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
  • 19. Criando um cliente para o Twitter <?php App::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
  • 20. 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
  • 21. 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
  • 22. 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?
  • 23. 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/
  • 24. 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?
  • 25. Agradecimentos   Aos organizadores do 1º Encontro de CakePHP de São Paulo   Ao CakePHP por facilitar a minha vida ;)   À comunidade pela presença
  • 26. 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?
  • 27. Perguntas? Carlos Pires -  E-mail: carlos.pires@2km.com.br -  Twitter: @cadu www.2km.com.br - Twitter: @2km