SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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

Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoAlamo Saravali
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsJúnior Porfirio
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoRogerio Fontes
 
Mini curso: Ionic Framework
Mini curso: Ionic FrameworkMini curso: Ionic Framework
Mini curso: Ionic FrameworkLoiane Groner
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11Cezar Souza
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Criciúma Dev
 
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISCCriando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISCFlávio Lisboa
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
Mini Curso Zend Framework
Mini Curso Zend FrameworkMini Curso Zend Framework
Mini Curso Zend FrameworkAdler Medrado
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileakamud
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UICleiton Francisco
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutosakamud
 
O Poderoso AngularJS
O Poderoso AngularJSO Poderoso AngularJS
O Poderoso AngularJSBeto Muniz
 
NestJS - O framework progressivo
NestJS - O framework progressivoNestJS - O framework progressivo
NestJS - O framework progressivoWender Machado
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Comparando as Hypes - React & Vue
Comparando as Hypes - React & VueComparando as Hypes - React & Vue
Comparando as Hypes - React & VueHerbert Henrique
 

Mais procurados (20)

Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - Introdução
 
Mini curso: Ionic Framework
Mini curso: Ionic FrameworkMini curso: Ionic Framework
Mini curso: Ionic Framework
 
Zend Framework 1.11
Zend Framework 1.11Zend Framework 1.11
Zend Framework 1.11
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
 
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISCCriando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
Criando Aplicações PHP Poderosas com Zend Framework 2 - 8º SOLISC
 
Ionic workshop
Ionic workshopIonic workshop
Ionic workshop
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Como fazer boas libs
Como fazer boas libs Como fazer boas libs
Como fazer boas libs
 
Arquitetura Node com NestJS
Arquitetura Node com NestJSArquitetura Node com NestJS
Arquitetura Node com NestJS
 
Mini Curso Zend Framework
Mini Curso Zend FrameworkMini Curso Zend Framework
Mini Curso Zend Framework
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UI
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutos
 
O Poderoso AngularJS
O Poderoso AngularJSO Poderoso AngularJS
O Poderoso AngularJS
 
React - Introdução
React - IntroduçãoReact - Introdução
React - Introdução
 
NestJS - O framework progressivo
NestJS - O framework progressivoNestJS - O framework progressivo
NestJS - O framework progressivo
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
Comparando as Hypes - React & Vue
Comparando as Hypes - React & VueComparando as Hypes - React & Vue
Comparando as Hypes - React & Vue
 

Destaque

Criando aplicações RestFul com Zend Framework 2
Criando aplicações RestFul com Zend Framework 2Criando aplicações RestFul com Zend Framework 2
Criando aplicações RestFul com Zend Framework 2Elton Minetto
 
Introduction to Zend Framework web services
Introduction to Zend Framework web servicesIntroduction to Zend Framework web services
Introduction to Zend Framework web servicesMichelangelo van Dam
 
RESTful modules in zf2
RESTful modules in zf2RESTful modules in zf2
RESTful modules in zf2Corley S.r.l.
 
Intro to Angular.js & Zend2 for Front-End Web Applications
Intro to Angular.js & Zend2  for Front-End Web ApplicationsIntro to Angular.js & Zend2  for Front-End Web Applications
Intro to Angular.js & Zend2 for Front-End Web ApplicationsTECKpert, Hubdin
 
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 JSONAmbiente Livre
 
Creating an API with Expressive
Creating an API with ExpressiveCreating an API with Expressive
Creating an API with ExpressiveElton Minetto
 
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 JSONMarcio Junior Vieira
 

Destaque (7)

Criando aplicações RestFul com Zend Framework 2
Criando aplicações RestFul com Zend Framework 2Criando aplicações RestFul com Zend Framework 2
Criando aplicações RestFul com Zend Framework 2
 
Introduction to Zend Framework web services
Introduction to Zend Framework web servicesIntroduction to Zend Framework web services
Introduction to Zend Framework web services
 
RESTful modules in zf2
RESTful modules in zf2RESTful modules in zf2
RESTful modules in zf2
 
Intro to Angular.js & Zend2 for Front-End Web Applications
Intro to Angular.js & Zend2  for Front-End Web ApplicationsIntro to Angular.js & Zend2  for Front-End Web Applications
Intro to Angular.js & Zend2 for Front-End Web Applications
 
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
 
Creating an API with Expressive
Creating an API with ExpressiveCreating an API with Expressive
Creating an API with Expressive
 
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
 

Semelhante a Criando API Rest ZF2

ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Jaime Neto
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Elton Minetto
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super heroElton Minetto
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraDavid O'Keefe
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkMarcelo Rodrigo
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Conhecendo o Zend Framework
Conhecendo o Zend FrameworkConhecendo o Zend Framework
Conhecendo o Zend FrameworkJaime Neto
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias WebRildo Pragana
 
Desenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterDesenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterPedro Junior
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDomingos Teruel
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 

Semelhante a Criando API Rest ZF2 (20)

ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 Palestra
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Conhecendo o Zend Framework
Conhecendo o Zend FrameworkConhecendo o Zend Framework
Conhecendo o Zend Framework
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias Web
 
Desenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterDesenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniter
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend Framework
 
E-commerce com Zend Framework 2
E-commerce com Zend Framework 2E-commerce com Zend Framework 2
E-commerce com Zend Framework 2
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 

Criando API Rest ZF2