Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • UX e Design
  • Outros
  • Todos
  • Inteligência Artificial
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

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

    Programação Web avançada com PHP Construindo software com componentes

    Flávio Lisboa
    Livro de PHP avançado

    *Você terá acesso às futuras atualizações do livro.

    Prefácio

    Este livro é para o(a) desenvolvedor(a), ou candidato(a) a desenvolvedor(a), que provavelmente já consumiu o material introdutório ofertado sobre a linguagem de programação PHP pela infinidade de cursos básicos disponíveis na Internet, mas que ainda não conseguiu dar o próximo passo para lidar com a complexa coordenação de várias responsabilidades em uma aplicação web.

    Há muitos livros disponíveis sobre fundamentos de programação em PHP e também há livros que ensinam a operar frameworks, mas vários pecam por não mostrar que quem programa tem controle sobre os componentes do framework, que pode modificá-los e que o framework não é a linguagem de programação.

    Principalmente em um cenário de microsserviços, é preciso focar em usar componentes de forma desacoplada, sem uma estrutura full stack que controla o programador, quando é o programador quem deveria controlar o programa. Falta algo que avance em complexidade e que seja prático.

    A proposta deste livro é abordar tópicos avançados de programação PHP orientada a objetos para aplicações web. A ideia é apresentar uma aplicação iniciada e refatorá-la a cada capítulo, mostrando como usar componentes específicos de software - e entendendo como eles funcionam.

    O conteúdo foi organizado da seguinte forma: no capítulo 1, fazemos uma introdução ao ambiente de desenvolvimento necessário para a execução dos exemplos que são construídos ao longo do livro. Utilizaremos a versão 8.2 da linguagem PHP, a versão 10.4 do gerenciador de banco dados MariaDB (compatível com MySQL) e a versão 1.9.5 do ambiente integrado Visual Studio Code.

    O capítulo 2 tem dupla finalidade. Ele pode funcionar como uma revisão, para quem já tem uma base de conhecimento em PHP, mas precisa lembrar de alguns detalhes para lidar com um framework. Ou ele pode funcionar como um curso básico rápido, para quem não tem conhecimento específico sobre a linguagem, mas se acha em condições de assimilar rapidamente os conceitos introdutórios. Dentro do livro ele é uma exceção, pois pode ser pulado caso o leitor sinta-se seguro com relação à Programação Orientada a Objetos usando padrões de projeto implementados por um framework.

    Tendo certeza de que você tem os fundamentos necessários, no capítulo 3, apresentamos e descrevemos a aplicação de exemplo, que será utilizada para a implementação dos conceitos apresentados nos capítulos posteriores. Nessa aplicação já estão implementados conceitos que consideramos como fundamentais para o desenvolvimento de aplicações web com a linguagem de programação PHP.

    No capítulo 4, utilizamos a aplicação de exemplo para mostrar de forma prática como se aplica o paradigma do desenvolvimento orientado a componentes.

    No capítulo 5, utilizamos a mesma aplicação para mostrar outro paradigma, o desenvolvimento orientado a eventos.

    No capítulo 6, mostramos como a aplicação de exemplo utiliza a técnica de injeção de dependências.

    Após verificar o que a aplicação de exemplo já possui, passamos a abordar o que falta nela. O primeiro conjunto de necessidades, abordado de forma geral no capítulo 7, é a segurança de uma aplicação web - a segurança que ela própria deve prover, independentemente da infraestrutura na qual está instalada. Nos capítulos de 8 a 11 nos aprofundamos em tópicos específicos de segurança: filtros e conversores de dados, validadores de dados, autenticação e controle de permissões.

    No capítulo 12, abordamos alternativas de implementação de mapeamento objeto-relacional, questionando as vantagens e desvantagens de cada uma.

    No capítulo 13, tratamos de um assunto extremamente relevante para uma realidade de aplicações baseadas na concepção de microsserviços, que é a construção de web services e APIs.

    No capítulo 14, abordamos a leitura e gravação de dados de configuração.

    No capítulo 15, finalizamos com a implementação da internacionalização da aplicação, que é a capacidade de traduzir os textos de sua interface com o usuário para qualquer idioma.

    Boa sorte, e que o PHP esteja com você!

    Sobre o autor

    Flávio Gomes da Silva Lisboa (FGSL) é mestre e doutor em Tecnologia e Sociedade pela Universidade Tecnológica Federal do Paraná e bacharel em Ciência da Computação, com especialização em Tecnologia Java. Programador formado pelo Centro Estadual de Educação Tecnológica Paula Souza, já atuou em empresas privadas de TI e foi funcionário do Banco do Brasil, onde atuou como analista na diretoria internacional. É analista de desenvolvimento do Serviço Federal de Processamento de Dados (Serpro), no qual foi coordenador do Programa Serpro de Software Livre e gerente de equipe de desenvolvimento.

    Tem mais de 10 anos de experiência em treinamento de desenvolvedores em programação orientada a objetos, padrões de projeto e uso de frameworks. Lecionou na pós-graduação da UNICID, em São Paulo, nas faculdades Sant'Anna, em Ponta Grossa, na UNICESUMAR, em Maringá, e na Faculdade Alfa de Umuarama. Lecionou no curso de sistemas de informação do Isulpar, em Paranaguá. Atualmente é professor de ensino médio e técnico da ETEC Bento Quirino, do Centro Estadual de Educação Tecnológica Paula Souza. É pioneiro na bibliografia em língua portuguesa sobre Zend Framework e Symfony. Por fim, ele é associado a ABRAPHP, Zend PHP Certified Engineer, Zend Framework Certified Engineer e Zend Framework 2 Certified Architect.

    É autor do documentário em seis volumes 'Rom, Biografia não Autorizada', e dos livros de ficção 'O Um: a solidão e a harmonia' e 'Pandino, o Imperador, a vingança do Um', estes dois últimos reunidos no volume único 'Livres ou Iguais: a vingança de Atsu Col, o Um Que é Todos, contra Pandino, o Imperador'. Também é pesquisador, concentrando seus estudos no tema do software livre e aberto. Seus artigos podem ser encontrados na Biblioteca Digital da Sociedade Brasileira de Computação, a SBC-OpenLib (SOL).

    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 Autenticação
      • 10.1 Laminas\Authentication\ AuthenticationService
      • 10.2 Persistência de identidade
      • 10.3 Resultados de autenticação
      • 10.4 Retornos possíveis para uma tentativa de autenticação
      • 10.5 Criação de adaptadores customizados de autenticação
      • 10.6 Remoção da identidade armazenada
      • 10.7 Implementando autenticação na aplicação
    • 11 Controle de permissões
      • 11.1 Laminas\Permissions\Acl
      • 11.2 Laminas\Permissions\Rbac
    • 12 Mapeamento objeto-relacional com Laminas\Db
      • 12.1 Laminas\Db
      • 12.2 Criando um projeto com o ORM do Laminas/Db
      • 12.3 Herdando uma classe mapeadora abstrata mais poderosa
      • 12.4 Gerenciando relacionamentos na persistência de dados
    • 13 Web services e APIs
      • 13.1 XML-RPC
      • 13.2 SOAP
      • 13.3 JSON-RPC
    • 14 Lendo e gravando dados de configuração
      • 14.1 Laminas\Config
    • 15 Internacionalização
    • 15.1 Laminas\I18n
    16 Referências

    Dados do produto

    Número de páginas:
    204
    ISBN:
    978-65-86110-25-8
    Data publicação:
    07/2020. Atualizado em 05/2025.
    Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    *Você terá acesso às futuras atualizações do livro.

    altLogoFooter

    Uma empresa do Grupo Alun

    Logo da Alun

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alun

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev