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

Mais procurados

Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
Dzmitry Naskou
 
Single page applications
Single page applicationsSingle page applications
Single page applications
Diego Cardozo
 
오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...
오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...
오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...
Amazon Web Services Korea
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
fisuda
 
Single Page Application
Single Page ApplicationSingle Page Application
Single Page Application
Isuru Madusanka
 
The InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxData
The InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxDataThe InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxData
The InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxData
InfluxData
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
Hyungwook Lee
 
Web api
Web apiWeb api
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
Syrine Ben aziza
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
if kakao
 
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
Naoyuki Kataoka
 
코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf
이정환
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
Joseph de Castelnau
 
Webpack slides
Webpack slidesWebpack slides
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture REST
Fadel Chafai
 
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
Shengyou Fan
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
ENSET, Université Hassan II Casablanca
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
Zhentian Wan
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 

Mais procurados (20)

Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Single page applications
Single page applicationsSingle page applications
Single page applications
 
오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...
오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...
오픈소스 ROS와 AWS RoboMaker를 통한 지능형 로봇앱 개발하기 - 윤석찬 (AWS 테크에반젤리스트), 박진용 (우아한 형제들) ...
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.7.0対応)
 
Single Page Application
Single Page ApplicationSingle Page Application
Single Page Application
 
The InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxData
The InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxDataThe InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxData
The InfluxDB 2.0 Storage Engine | Jacob Marble | InfluxData
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
Web api
Web apiWeb api
Web api
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
 
코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Webpack slides
Webpack slidesWebpack slides
Webpack slides
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture REST
 
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 

Destaque

Criando Webservices RESTFul com CakePHP
Criando Webservices RESTFul com CakePHPCriando Webservices RESTFul com CakePHP
Criando Webservices RESTFul com CakePHP
Renan Gonçalves
 
REST API with CakePHP
REST API with CakePHPREST API with CakePHP
REST API with CakePHP
Anuchit Chalothorn
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
Marcio Junior Vieira
 
RESTful Web Development with CakePHP
RESTful Web Development with CakePHPRESTful Web Development with CakePHP
RESTful Web Development with CakePHP
Andru Weir
 
APIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex PiazAPIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex Piaz
iMasters
 
Aws video creator
Aws video creatorAws video creator
Aws video creator
Ivan Rosolen
 
Intro to Silex
Intro to SilexIntro to Silex
Intro to Silex
Joey Rivera
 
Autenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers ConferenceAutenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers Conference
Wesley Nascimento
 
Recursive in CakePHP
Recursive in CakePHPRecursive in CakePHP
Recursive in CakePHP
Ketan Patel
 
Full-Stack CakePHP Deployment
Full-Stack CakePHP DeploymentFull-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
Jose Diaz-Gonzalez
 
Customize CakePHP bake
Customize CakePHP bakeCustomize CakePHP bake
Customize CakePHP bake
Kazuyuki Aoki
 
CakePHP mistakes made
CakePHP mistakes madeCakePHP mistakes made
CakePHP mistakes made
markstory
 
9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources
iScripts
 
Api usando Silex
Api usando SilexApi usando Silex
Api usando Silex
Elton Minetto
 
Top 50 Interview Questions and Answers in CakePHP
Top 50 Interview Questions and Answers in CakePHPTop 50 Interview Questions and Answers in CakePHP
Top 50 Interview Questions and Answers in CakePHP
Ketan Patel
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
omicx
 
Road to CakePHP 3.0
Road to CakePHP 3.0Road to CakePHP 3.0
Road to CakePHP 3.0
markstory
 
Cakephp 3
Cakephp 3 Cakephp 3
Cakephp 3
Amilkar Shegrid
 
Jquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-brJquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-br
TrioBlack Trioblack
 
Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3
José Lorenzo Rodríguez Urdaneta
 

Destaque (20)

Criando Webservices RESTFul com CakePHP
Criando Webservices RESTFul com CakePHPCriando Webservices RESTFul com CakePHP
Criando Webservices RESTFul com CakePHP
 
REST API with CakePHP
REST API with CakePHPREST API with CakePHP
REST API with CakePHP
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
RESTful Web Development with CakePHP
RESTful Web Development with CakePHPRESTful Web Development with CakePHP
RESTful Web Development with CakePHP
 
APIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex PiazAPIs Rest(Ful): como fazer, por Alex Piaz
APIs Rest(Ful): como fazer, por Alex Piaz
 
Aws video creator
Aws video creatorAws video creator
Aws video creator
 
Intro to Silex
Intro to SilexIntro to Silex
Intro to Silex
 
Autenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers ConferenceAutenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers Conference
 
Recursive in CakePHP
Recursive in CakePHPRecursive in CakePHP
Recursive in CakePHP
 
Full-Stack CakePHP Deployment
Full-Stack CakePHP DeploymentFull-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
 
Customize CakePHP bake
Customize CakePHP bakeCustomize CakePHP bake
Customize CakePHP bake
 
CakePHP mistakes made
CakePHP mistakes madeCakePHP mistakes made
CakePHP mistakes made
 
9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources9 Awesome cake php tutorials and resources
9 Awesome cake php tutorials and resources
 
Api usando Silex
Api usando SilexApi usando Silex
Api usando Silex
 
Top 50 Interview Questions and Answers in CakePHP
Top 50 Interview Questions and Answers in CakePHPTop 50 Interview Questions and Answers in CakePHP
Top 50 Interview Questions and Answers in CakePHP
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
Road to CakePHP 3.0
Road to CakePHP 3.0Road to CakePHP 3.0
Road to CakePHP 3.0
 
Cakephp 3
Cakephp 3 Cakephp 3
Cakephp 3
 
Jquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-brJquery fundamentals-book-pt-br
Jquery fundamentals-book-pt-br
 
Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3
 

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

Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Thyago Maia
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web API
Ivan Paulovich
 
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptCriando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Ivan Paulovich
 
Introdução ao Framework CakePHP
Introdução ao Framework CakePHPIntrodução ao Framework CakePHP
Introdução ao Framework CakePHP
Otávio Calaça Xavier
 
API Apontador
API ApontadorAPI Apontador
API Apontador
Leonardo Andreucci
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
Regis Magalhães
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0
Saulo Vallory
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
Marcelo Andrade
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Thyago Maia
 
O processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra SoaresO processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra Soares
Prodv Comunicação
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
Comunidade NetPonto
 
Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
Mateus Malaquias
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01
Maurício Linhares
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
Regis Magalhães
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
Eduardo Cesar
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
Rodrigo Aramburu
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
Eduardo Mendes
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
Marcelo Rodrigo
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
Rodrigo Cândido da Silva
 
WebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuthWebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuth
Jean Lima Lopes
 

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

Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
Desenvolvimento de Sistemas Web com PHP Frameworks - 2019.1 - Aula 1
 
Conhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web APIConhecendo os recursos do ASP.NET Web API
Conhecendo os recursos do ASP.NET Web API
 
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e JavascriptCriando aplicativos para Windows 8 usando apenas HTML5 e Javascript
Criando aplicativos para Windows 8 usando apenas HTML5 e Javascript
 
Introdução ao Framework CakePHP
Introdução ao Framework CakePHPIntrodução ao Framework CakePHP
Introdução ao Framework CakePHP
 
API Apontador
API ApontadorAPI Apontador
API Apontador
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
 
O processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra SoaresO processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra Soares
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
 
WebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuthWebAPI-Route-Translate-BasicAuth
WebAPI-Route-Translate-BasicAuth
 

Último

Eletiva_O-mundo-conectado-Ensino-Médio.docx.pdf
Eletiva_O-mundo-conectado-Ensino-Médio.docx.pdfEletiva_O-mundo-conectado-Ensino-Médio.docx.pdf
Eletiva_O-mundo-conectado-Ensino-Médio.docx.pdf
barbosajucy47
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 
Segurança da Informação - Onde estou e para onde eu vou.pptx
Segurança da Informação - Onde estou e para onde eu vou.pptxSegurança da Informação - Onde estou e para onde eu vou.pptx
Segurança da Informação - Onde estou e para onde eu vou.pptx
Divina Vitorino
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 

Último (7)

Eletiva_O-mundo-conectado-Ensino-Médio.docx.pdf
Eletiva_O-mundo-conectado-Ensino-Médio.docx.pdfEletiva_O-mundo-conectado-Ensino-Médio.docx.pdf
Eletiva_O-mundo-conectado-Ensino-Médio.docx.pdf
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 
Segurança da Informação - Onde estou e para onde eu vou.pptx
Segurança da Informação - Onde estou e para onde eu vou.pptxSegurança da Informação - Onde estou e para onde eu vou.pptx
Segurança da Informação - Onde estou e para onde eu vou.pptx
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 

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