
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 Bug Fix ServerSignature no Apache
- 5.5 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:
- Data publicação: