Programação Web avançada com PHP Construindo software com componentes
Flávio LisboaConteúdo
Você já teve uma boa introdução a PHP, mas gostaria de dar um próximo passo para passar do básico ao avançado: saber lidar com a complexa coordenação de várias responsabilidades em uma aplicação web real. Como controlar os componentes dos frameworks, trabalhar com microsserviços para avançar em complexidade e ser limpo e prático ao mesmo tempo?
Neste livro, Flávio Lisboa aborda tópicos avançados de programação PHP orientada a objetos para aplicações web. Após passar por uma revisão dos pontos mais importantes de PHP para você reforçar sua base da linguagem, o autor aprofunda em uma aplicação de exemplo, refatorando-a a cada capítulo conforme apresenta novos conceitos. Você verá como usar componentes específicos de software, passando pelos paradigmas de desenvolvimento orientado a componentes, a eventos, pela técnica de injeção de dependências, segurança, web services, até a manutenção da aplicação.
Sumário
- 1 Introdução
- 1.1 PHP e MySQL
- 1.2 Ambiente integrado de desenvolvimento
- 2 PHP para quem tem pressa
- 2.1 Um cadastro usando o sistema de arquivos
- 2.2 Um cadastro usando banco de dados relacional
- 2.3 Um cadastro com função definida pelo programador
- 2.4 Um cadastro com uma classe abstrata e duas classes concretas
- 2.5 Um cadastro com uma classe controladora de requisições
- 3 A aplicação de exemplo
- 3.1 Instalação da aplicação
- 3.2 De que se trata a aplicação
- 3.3 O que falta na aplicação
- 4 Desenvolvimento orientado a componentes
- 4.1 Usar é melhor que criar, mas nem sempre
- 4.2 Gerenciando componentes
- 5 Desenvolvimento orientado a eventos
- 6 Injeção de dependências
- 6.1 Injeção de dependência no controlador
- 6.2 Injeção de dependência no mapeador de tabelas
- 7 Segurança de aplicações web
- 7.1 Tratamento e neutralização de saída perigosa
- 7.2 Ataques XSS
- 7.3 Ataques de injeção de SQL
- 7.4 Ataques de simulação de requisição
- 7.5 Melhores práticas de segurança
- 8 Filtros e conversores de dados
- 8.1 Laminas\Filter
- 8.2 Filtros predefinidos
- 8.3 Cadeias de filtro
- 8.4 Criando filtros customizados
- 8.5 Laminas\InputFilter\InputFilter
- 9 Validadores de dados
- 9.1 Laminas\Validator
- 9.2 Customizando mensagens
- 9.3 Validadores predefinidos
- 9.4 Cadeias de validação
- 9.5 Criando validadores customizados
- 10 Criptografia
- 10.1 Criptografando textos
- 10.2 Criptografando e verificando senhas
- 11 Autenticação
- 11.1 Laminas\Authentication\ AuthenticationService
- 11.2 Persistência de identidade
- 11.3 Resultados de autenticação
- 11.4 Retornos possíveis para uma tentativa de autenticação
- 11.5 Criação de adaptadores customizados de autenticação
- 11.6 Remoção da identidade armazenada
- 11.7 Implementando autenticação na aplicação
- 12 Controle de permissões
- 12.1 Laminas\Permissions\Acl
- 12.2 Laminas\Permissions\Rbac
- 13 Mapeamento objeto-relacional com Laminas\Db
- 13.1 Laminas\Db
- 13.2 Criando um projeto com o ORM do Zend/Db
- 14 Web services e APIs
- 14.1 XML-RPC
- 14.2 SOAP
- 14.3 JSON-RPC
- 15 Serviços internos de uma aplicação web
- 15.1 Laminas\Config
- 15.2 Laminas\Log
- 16 Internacionalização
- 16.1 Laminas\I18n
- 17 Referências
Autor
Flávio Lisboa
Flávio Gomes da Silva Lisboa é bacharel em Ciência da Computação, especialista em tecnologia Java, certificado como engenheiro e arquiteto em PHP e Zend Framework e mestrando em Tecnologia e Sociedade. Tem experiência como programador e como gestor de projeto de software. É professor de disciplinas de programação orientada a objetos, testes unitários e frameworks de desenvolvimento. Tem seis livros publicados sobre programação na linguagem PHP e dez anos de experiência em treinamento para desenvolvedores de software. Foi keynote speaker na PHP Conference Brasil e palestrante e instrutor em diversos eventos de software. Trabalha como analista no Serviço Federal de Processamento de Dados e é contribuidor do projeto Nextcloud. É fã de histórias em quadrinhos, escreveu a hexalogia Rom, Biografia Não Autorizada e mantém o blog romocavaleirodoespaco.blogspot.com
Dados do produto
- Número de páginas:
- 205
- ISBN:
- 978-65-86110-25-8
- Data publicação:
- 07/2020