SlideShare uma empresa Scribd logo
Criando API Rest no Zend
Framework 2
Nome Juciellen Cabrera
Julho/2015
2
Conhecendo o palestrante
➢ 2009 – Sistemas de Informação;
➢ 8 anos de desenvolvimento com
PHP;
➢ Maio/2015 – ZCPE (Zend Certified
PHP Enginner);
➢ Out/2014 – Construtor 4Linux:
➢ Área de Inovações;
➢ Treinamento.
Juciellen Cabrera
3
Conhecendo a 4Linux
➢ Metodologia IT Experience -
Cenários reais
➢ Cursos práticos, rápidos e baratos de
autores feras: www.4shot.com.br
➢ Projetos complexos de missão crítica,
com infra e desenvolvimento PHP
4
Metodologia IT Experience
Cenários reais
5
Cursos práticos, rápidos e baratos de
autores feras
6
Lançamento 4Linux
7
Ao final da minha palestra
8
Ao final da minha palestra
➢ 02 cursos Online:
➢ Curso Desenvolvimento Orientado a
objetos PHP -Código 4500
➢ 01 Elephant
9
Criando API Rest com Zend
Framework 2
Como criar uma aplicação REST no Zend
Framework 2
10
Criando API Rest com Zend
Framework 2
● API
● WebService
● REST
● ZF2 – Abstract Restful Controller
● Algumas boas práticas
● Como resolvemos alguns problemas
11
Criando API Rest com Zend
Framework 2
API - Application Programming Interface
➢Interface de Programação de Aplicações;
➢Trata-se de uma interface padronizada desenvolvida já com
o objetivo de fácil integração com outras aplicações;
➢SOA (Service Oriented Architecture) – Arquitetura Orientada
a Serviço;
12
Criando API Rest com Zend
Framework 2
Web Service
Web Service – Quando uma API se comunica via Web.
13
Criando API Rest com Zend
Framework 2
O que é um WebService REST?
➢ REST (Representational State Transfer);
➢ Baseados no protocolo HTTP;
➢ Troca de informações usando XML ou JSON.
➢ Restful
14
Criando API Rest com Zend
Framework 2
https://www.chemaxon.com/wp-content/themes/chemaxon/images/product_pages/jws/rest.jpg
15
Criando API Rest com Zend
Framework 2
http://www.google.com/trends/explore?q=xml+api#q=xml%20api%2C%20json%20api&cmpt=q
Json X XML
16
Criando API Rest com Zend
Framework 2
API Google Maps
17
Criando API Rest com Zend
Framework 2
Principais Métodos HTTP
➢ POST
➢ GET
➢ PUT
➢ DELETE
18
Criando API Rest com Zend
Framework 2
Você precisará de uma ferramenta para fazer as
requisições simulando um cliente
RestClient
Postman
19
Criando API Rest com Zend
Framework 2
O que é necessário para criar uma API com o
ZF2?
20
1 cd my/project/dir
2 git clone 
git://github.com/zendframework/ZendSkeletonApplication.git
3 cd ZendSkeletonApplication
4 php composer.phar self­update
5 php composer.phar install
Criando API Rest com Zend
Framework 2
Instalando o ZF2:
21
routes => array(
 route=>array(
  'api' => array(
    'type'    => 'Literal',
    'options' => array(
       'route'    => '/api',
       'defaults' => array(
           '__NAMESPACE__' => 'ApplicationController'),),
     'may_terminate' => true,
     'child_routes' => array(
         'default' => array(
           'type'    => 'Segment',
          'options' => array(
          'route'    => '[/:controller[/:id]]',
               'constraints' => array(
               'controller' => '[a­zA­Z][a­zA­Z0­9_­]*',           
       'id'     => '[0­9_­]*'),                  
            ), ),),),))
Criando API Rest com Zend
Framework 2
Configurar uma rota em module.config.php
22
'view_manager' => array(        
        'strategies' => array(
            'ViewJsonStrategy',
        ),
   )
Criando API Rest com Zend
Framework 2
Ativar o JsonStrategy no view manager em
module.config.php
23
MyRestController:
<?php
namespace ApplicationController;
use ZendMvcControllerAbstractRestfulController;
class MyRestController extends AbstractRestfulController
{    
}
Criando API Rest com Zend
Framework 2
Criar um controller que estenda de AbstractRestfulController
24
'controllers' => array(
 'invokables' => array(
   'ApplicationControllerIndex'=>'ApplicationControllerIndexController',
   'ApplicationControllerRest' =>'ApplicationControllerMyRestController'
    )
  )
Criando API Rest com Zend
Framework 2
Registrar o controller em module.config.php
25
GET - /api/rest | /api/rest/1:
class MyRestController extends AbstractRestfulController
{
public function getList(){        
    } 
public function get($id){        
    }  
}
Criando API Rest com Zend
Framework 2
getList() e get($id)
26
POST - /api/rest:
class MyRestController extends AbstractRestfulController
{
public function create ($data){      
    }  
}
Criando API Rest com Zend
Framework 2
create($data)
27
PUT - /api/rest/1:
class MyRestController extends AbstractRestfulController
{
public function update ($id,$data){      
    }  
}
Criando API Rest com Zend
Framework 2
update()
28
DELETE - /api/rest/1:
class MyRestController extends AbstractRestfulController
{
public function delete ($id){      
    }  
}
Criando API Rest com Zend
Framework 2
delete($id)
29
Criando API Rest com Zend
Framework 2
Algumas classes com as quais você provavelmente irá
trabalhar:
➢ ZendViewModelJsonModel;
➢ZendHttpResponse;
➢ZendHttpRequest;
➢ZendHttpHeaders.
30
use ZendViewModelJsonModel;
class MyRestController extends AbstractRestfulController
{
public function getList(){
        return new JsonModel(array('mensagem'=> Nada a listar));
    }    
}
Criando API Rest com Zend
Framework 2
Retornando dados usando JsonModel
31
Criando API Rest com Zend
Framework 2
Retornando dados usando JsonModel
32
Criando API Rest com Zend
Framework 2
Status Code Mais Utilizados
➢ 200 OK;
➢ 201 Created;
➢ 400 Bad Request;
➢ 401 Unauthorized;
➢ 403 Forbidden;
➢ 404 Not Found;
➢ 405 Method Not Allowed;
➢ 500 Internal Server Error.
33
class MyRestController extends AbstractRestfulController
{
public function create ($data){
        $this­>response­>getHeaders()­>addHeaderLine('Content­
type','applicationjson');
        
        if(empty($data)){
            $this­>response­>setStatusCode(Response::STATUS_CODE_400);
            return new JsonModel(array('mensagem'=>'Nenhum dado foi 
enviado')); 
        }
        
    }
}
Criando API Rest com Zend
Framework 2
Manipulando cabeçalhos e status code
34
Criando API Rest com Zend
Framework 2
POST
35
class MyRestController extends AbstractRestfulController
{
public function delete($id){
        $this­>response­>setStatusCode(Response::STATUS_CODE_401);
        return new JsonModel(array('mensagem'=>'Você precisa estar 
logado'));
    }
}
Criando API Rest com Zend
Framework 2
Manipulando cabeçalhos e status code
36
Criando API Rest com Zend
Framework 2
DELETE
37
Criando API Rest com Zend
Framework 2
Módulos adicionais que utilizamos
➢ ZfrCors:
➢Define quem pode requisitar serviço;
➢Manipula cabeçalhos;
➢ JWT:
➢Faz autenticação via token;
➢ JMSSerializer:
➢Utilizado para serializar objetos
complexos, como por exemplo entidades
do Doctrine.
38
Criando API Rest com Zend
Framework 2
PSR – 7
HTTP message interfaces
http://www.php-fig.org/psr/psr-7/
39
Criando API Rest com Zend
Framework 2
APIgility
Construtor de API
https://apigility.org/
40
Perguntas
41
Boa Sorte!!
42
Juciellen Cabrera
juciellen.cabrera@4linux.com.br
www.4linux.com.br
www.4shot.com.br
Sigam-nos
@4linux
@4shotcursos

Mais conteúdo relacionado

Mais procurados (20)

PPTX
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Alamo Saravali
 
PDF
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
Júnior Porfirio
 
PPTX
Uaijug ADF - spring boot - microservice - Introdução
Rogerio Fontes
 
PDF
Mini curso: Ionic Framework
Loiane Groner
 
PDF
Zend Framework 1.11
Cezar Souza
 
PDF
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Criciúma Dev
 
PDF
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Flávio Lisboa
 
PDF
Ionic workshop
Alvaro Viebrantz
 
PDF
Javascript por debaixo dos panos
Laís Lima
 
PDF
Como fazer boas libs
Vinta Software
 
PDF
Arquitetura Node com NestJS
Vanessa Me Tonini
 
PDF
Mini Curso Zend Framework
Adler Medrado
 
PPTX
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
akamud
 
PDF
React - Biblioteca Javascript para criação de UI
Cleiton Francisco
 
PPTX
Xamarin em 7 minutos
akamud
 
PDF
O Poderoso AngularJS
Beto Muniz
 
PDF
React - Introdução
Jefferson Mariano de Souza
 
PDF
NestJS - O framework progressivo
Wender Machado
 
PDF
JSF 2 Components JustJava2011
Eder Magalhães
 
PDF
Comparando as Hypes - React & Vue
Herbert Henrique
 
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Alamo Saravali
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
Júnior Porfirio
 
Uaijug ADF - spring boot - microservice - Introdução
Rogerio Fontes
 
Mini curso: Ionic Framework
Loiane Groner
 
Zend Framework 1.11
Cezar Souza
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Criciúma Dev
 
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Flávio Lisboa
 
Ionic workshop
Alvaro Viebrantz
 
Javascript por debaixo dos panos
Laís Lima
 
Como fazer boas libs
Vinta Software
 
Arquitetura Node com NestJS
Vanessa Me Tonini
 
Mini Curso Zend Framework
Adler Medrado
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
akamud
 
React - Biblioteca Javascript para criação de UI
Cleiton Francisco
 
Xamarin em 7 minutos
akamud
 
O Poderoso AngularJS
Beto Muniz
 
React - Introdução
Jefferson Mariano de Souza
 
NestJS - O framework progressivo
Wender Machado
 
JSF 2 Components JustJava2011
Eder Magalhães
 
Comparando as Hypes - React & Vue
Herbert Henrique
 

Destaque (7)

PDF
Criando aplicações RestFul com Zend Framework 2
Elton Minetto
 
PDF
Introduction to Zend Framework web services
Michelangelo van Dam
 
PPTX
RESTful modules in zf2
Corley S.r.l.
 
PPTX
Intro to Angular.js & Zend2 for Front-End Web Applications
TECKpert, Hubdin
 
PDF
Criando e consumindo webservice REST com PHP e JSON
Ambiente Livre
 
PDF
Creating an API with Expressive
Elton Minetto
 
PDF
Criando e consumindo webservice REST com PHP e JSON
Marcio Junior Vieira
 
Criando aplicações RestFul com Zend Framework 2
Elton Minetto
 
Introduction to Zend Framework web services
Michelangelo van Dam
 
RESTful modules in zf2
Corley S.r.l.
 
Intro to Angular.js & Zend2 for Front-End Web Applications
TECKpert, Hubdin
 
Criando e consumindo webservice REST com PHP e JSON
Ambiente Livre
 
Creating an API with Expressive
Elton Minetto
 
Criando e consumindo webservice REST com PHP e JSON
Marcio Junior Vieira
 
Anúncio

Semelhante a Criando API Rest no Zend Framework 2 (20)

ODP
Webservices REST com Zend Framework
Fernando Geraldo Mantoan
 
PPTX
Desbravando o REST com Python
Matheus Fidelis
 
PDF
Aula-16-Semana-05-RESTFull-Services Aula.pdf
acessoneutro
 
PDF
Construindo ap is usando php
James Miranda
 
PDF
Apresentação zend framework 2 parte 1
Edgar Dantas
 
PDF
APIs REST com Spring Boot
Wesley Fuchter
 
PDF
Começando com Zend Framework 2
Cezar Souza
 
PPTX
Conhecendo o Zend Framework
Jaime Neto
 
PDF
PHP RESTful Web Services
Felipe Ribeiro
 
PDF
Construindo APIs RESTful com Spring
Mateus Malaquias
 
PDF
APIs Rest(Ful): como fazer, por Alex Piaz
iMasters
 
PPTX
Deck QCON SP 2018
Rafael Rocha
 
PDF
Webservices e Computação em Nuvem com PHP
Flávio Lisboa
 
PDF
REST Web Services com Java
JugVale
 
PDF
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
Igor Santos
 
PDF
APIs REST escaláveis
William Bruno Moraes
 
PDF
WordPress + REST API
meetupwordpressfln
 
PDF
Analise frameworks php
Igor Moura
 
PDF
Rest web services com Java
jesuinoPower
 
PDF
Iniciando com o_zend_framework
Milton Rodrigues
 
Webservices REST com Zend Framework
Fernando Geraldo Mantoan
 
Desbravando o REST com Python
Matheus Fidelis
 
Aula-16-Semana-05-RESTFull-Services Aula.pdf
acessoneutro
 
Construindo ap is usando php
James Miranda
 
Apresentação zend framework 2 parte 1
Edgar Dantas
 
APIs REST com Spring Boot
Wesley Fuchter
 
Começando com Zend Framework 2
Cezar Souza
 
Conhecendo o Zend Framework
Jaime Neto
 
PHP RESTful Web Services
Felipe Ribeiro
 
Construindo APIs RESTful com Spring
Mateus Malaquias
 
APIs Rest(Ful): como fazer, por Alex Piaz
iMasters
 
Deck QCON SP 2018
Rafael Rocha
 
Webservices e Computação em Nuvem com PHP
Flávio Lisboa
 
REST Web Services com Java
JugVale
 
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
Igor Santos
 
APIs REST escaláveis
William Bruno Moraes
 
WordPress + REST API
meetupwordpressfln
 
Analise frameworks php
Igor Moura
 
Rest web services com Java
jesuinoPower
 
Iniciando com o_zend_framework
Milton Rodrigues
 
Anúncio

Último (6)

PDF
Ceritificado Imersão SOC HackOne Sab/Dom.pdf
RodrigoMori7
 
PDF
Estudos DAC - projeto de arquitetura futurista
ra189223
 
DOCX
150 PMBOK 7 Scenario-Based PMP Exam Questions and Answers.docx
Marcelo Cruz
 
PPTX
Windows 11 Apostila do Básico ao Avançado
deividcosimo1
 
PPTX
5 Critérios para seleção do objeto de estudo.pptx
Eduardo Corrêa
 
PDF
Aulas Extras - O que é e por que Aprender e Utilizar.pdf
fmartinsss
 
Ceritificado Imersão SOC HackOne Sab/Dom.pdf
RodrigoMori7
 
Estudos DAC - projeto de arquitetura futurista
ra189223
 
150 PMBOK 7 Scenario-Based PMP Exam Questions and Answers.docx
Marcelo Cruz
 
Windows 11 Apostila do Básico ao Avançado
deividcosimo1
 
5 Critérios para seleção do objeto de estudo.pptx
Eduardo Corrêa
 
Aulas Extras - O que é e por que Aprender e Utilizar.pdf
fmartinsss
 

Criando API Rest no Zend Framework 2