Use o código e tenha 10% de desconto!

Zend Expressive e PHP 7 Uma união poderosa para a criação de APIs

Jhones S. Clementino

Prefácio

 

Desde o lançamento do Zend Framework, a comunidade Zend tem crescido cada vez mais. Conforme a tecnologia e os anos foram avançando, tornou-se essencial a agilidade na entrega de novas aplicações, desde sites simples a e-commerces, portais e APIs. Contudo, a Zend ainda não possuía um framework enxuto para um desenvolvimento mais rápido de aplicações, focado em encontrar uma solução para o problema. Foi então que a Zend desenvolveu o que todos mais aguardavam, um microframework.

Zend Expressive é um microframework criado pela Zend com o objetivo de atender desde as demandas mais simples para criação de aplicações de mínima escala a APIs e aplicações mais complexas de alta escala.

Hoje em dia, o número de aplicações distribuídas está cada vez maior. Entende-se por aplicações distribuídas aquelas que funcionam de forma independente, ou seja, sem serem restritas a apenas um tipo de plataforma. Zend Expressive vai nos ajudar a desenvolver uma API ou, como muitos chamam, Web Service, que funcionará de forma independente para que qualquer aplicação client possa fazer a comunicação com a API.

Não se preocupe se no momento você não estiver entendendo muito bem, vamos falar muito sobre o Zend Expressive no decorrer deste livro, afinal ele é o protagonista desta obra.

Este livro é indicado para os desenvolvedores que estão iniciando no mundo dos frameworks/microframeworks e também para os programadores mais experientes que já possuem um conhecimento mais avançado das tecnologias voltadas para a Web com o PHP.

Para este livro, é necessário que o leitor tenha o conhecimento básico sobre PHP 7 e Programação Orientada a Objetos. Ambos são indispensáveis pois serão utilizados com frequência durante o desenvolvimento do nosso projeto.

O projeto e os exemplos podem ser desenvolvidos utilizando:

  • S.O (Sistema Operacional): Linux Ubuntu 16.04 ou superior com suporte a PHP 7 / Windows 7 ou superior / MacOS com suporte a PHP 7;
  • Servidor: Apache2 ou Nginx;
  • Linguagem de programação: PHP 7.2 ou superior;
  • IDE: PHPStorm (Você pode utilizar qualquer outra IDE de sua preferência como: Eclipse, Netbeans, Sublime, Notepad++ entre outras);
  • Client HTTP para fazer as requisições da API: Postman ou outro client de sua preferência como: Advanced REST client, SOAP UI, entre outros;
  • Gerenciador de dependências: Composer na versão 1.6.5 ou superior.

No decorrer deste livro, vamos abordar diversos temas envolvendo APIs, microsserviços e o microframework Zend Expressive, que foi lançado antes do Zend Framework 3. Vamos abordar também como fazer a integração com o ORM Doctrine, falaremos de middlewares e muito mais. Por fim, vamos desenvolver uma API bem simples com o Zend Expressive e PHP 7 em que vamos realizar um CRUD de tipos de usuários, e de mensagens. Nós vamos aplicar alguns dos componentes do Zend Framework 3 para que o conhecimento adquirido seja fixado da melhor maneira possível. Se você está preparado para iniciar nossa jornada rumo ao mundo dos microframeworks e APIs então siga em frente aos próximos capítulos. Bom estudo!

 

Sumário

  • 1. Introdução
  • 2. Frameworks full stack vs. microframeworks
    • 2.1 Framework full stack
    • 2.2 Microframework
    • 2.3 Quando utilizar framework full stack ou microframework
  • 3. Explorando APIs, SOAP, REST e RESTful
    • 3.1 API (Application Programming Interface)
    • 3.2 SOAP (Simple Object Access Protocol)
    • 3.3 REST (Representational State Transfer)
  • 4. Preparando o ambiente
    • 4.1 Linux
    • 4.2 Windows
    • 4.3 Instalações e configurações adicionais
  • 5. Clonagem e configuração do Zend Expressive
    • 5.1 Hello Zend Expressive
    • 5.2 Configurando o Zend Expressive com VHOST no Linux
    • 5.3 Configurando VHOST no Wamp Server
    • 5.4 Conhecendo a estrutura do Zend Expressive
  • 6. Configurando o Doctrine ORM e gerando entidades
    • 6.1 Integrando o Doctrine ao Zend Expressive
    • 6.2 Gerando entidades automaticamente
  • 7. Melhorando a entidade TbTipoUsuario
  • 8. Melhorando a entidade TbUsuario
  • 9. Melhorando a entidade TbMensagem
  • 10. Criando repositórios e estendendo a classe EntityRepository
    • 10.1 Criando o repositório TipoUsuarioRepository
    • 10.2 Criando o repositório UsuarioRepository
    • 10.3 Criando o repositório MensagemRepository
  • 11. Criando e registrando serviços
    • 11.1 Criando a classe abstrata ServiceAbstract e o serviço TipoUsuarioService
    • 11.2 Criando o serviço UsuarioService
    • 11.3 Criando o serviço MensagemService
    • 11.4 Criando a Factory TipoUsuarioServiceFactory
    • 11.5 Criando a Factory UsuarioServiceFactory
    • 11.6 Criando a Factory MensagemServiceFactory
    • 11.7 Registrando os serviços
  • 12. Criando e registrando Handlers de tipos de usuário
    • 12.1 Criando o Handler TipoUsuarioListarHandler
    • 12.2 Criando o Handler TipoUsuarioListarUmHandler
    • 12.3 Criando o Handler TipoUsuarioCriarHandler
    • 12.4 Criando o Handler TipoUsuarioAlterarHandler
    • 12.5 Criando o Handler TipoUsuarioDeletarHandler
  • 13. Criando e registrando Handlers de usuários
    • 13.1 Criando o Handler UsuarioListarHandler
    • 13.2 Criando o Handler UsuarioListarUmHandler
    • 13.3 Criando o Handler UsuarioCriarHandler
    • 13.4 Criando o Handler UsuarioAlterarHandler
    • 13.5 Criando o Handler UsuarioDeletarHandler
  • 14. Criando e registrando Handlers de Mensagens
    • 14.1 Criando o Handler MensagemListarHandler
    • 14.2 Criando o Handler MensagemListarUmaHandler
    • 14.3 Criando o Handler MensagemCriarHandler
    • 14.4 Criando o Handler MensagemAlterarHandler
    • 14.5 Criando o Handler MensagemDeletarHandler
  • 15. Definindo e testando as rotas da aplicação
    • 15.1 Definindo as rotas de tipos de usuários
    • 15.2 Testando as rotas de tipos de usuários
    • 15.3 Definindo as rotas de usuários
    • 15.4 Testando as rotas de usuários
    • 15.5 Definindo as rotas de mensagens
    • 15.6 Testando as rotas de mensagens
  • 16. Conhecendo as PSRs 7 e 15
    • 16.1 PSR-7 (HTTP Message Interfaces)
    • 16.2 PSR-15 (HTTP Server Request Handlers)
  • 17. Conclusão
  • 18. Referências Bibliográficas

Dados do produto

Número de páginas:
342
ISBN:
978-85-94188-93-9
Data publicação:
12/2018

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter