Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec



Documentos relacionados
Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Ademir C. Gabardo. Novatec

Criando Relatórios com PHP

André Gugliotti. Novatec

Criando Aplicações Gráficas com PHP

2ª EDIÇÃO. André Milani. Novatec

Desenvolvendo Websites com PHP

Novatec Editora Ltda. [2014].

Julia Elman e Mark Lavin. Novatec

Luiz Carlos Querino Filho

Design Centrado no Usuário

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Desenvolvimento de Grandes Aplicações Web

Ricardo R. Lecheta. Novatec

Primeiros Passos com o Raspberry Pi

Aprendendo Programação. ios. Alasdair Allan. Novatec

Edgar Gomes de Abreu

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Adrian Mejia. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Jonathan Stark Brian Jepson

David Hows Peter Membrey Eelco Plugge

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Desenvolvendo Websites com PHP

Ricardo Kléber M. Galvão. Novatec

Wilson Moraes Góes. Novatec

Ricardo R. Lecheta. Novatec

Novatec Editora Ltda

Harrison Kinsley Will McGugan

Camila Porto. Novatec

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

Pramod J. Sadalage Martin Fowler

Service Desk Corporativo

Josh Pauli Revisão técnica Scott White. Novatec

Crie Seu Próprio Site

Brandon Rhodes John Goerzen

PDF Explicado John Whitington

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Guia do Programador Joel Saade

João Eriberto Mota Filho

Copyright 2008, 2013 da Novatec Editora Ltda.

William Pereira Alves

Wilson Moraes Góes. Novatec

Ademir C. Gabardo. Novatec

Murillo Lo Visco. Novatec

Paulo Strelczuk. Novatec

Ricardo Lino Olonca. Novatec

Hélio Engholm Jr. Novatec

2ª Edição Alexandre Keller

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Segurança em Redes sem Fio

Keith Wood. Apresentação de Dave Methvin. Novatec

Web Interativa com Ajax e PHP

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. 2a Edição. Samuel Henrique Bucke Brito. Novatec

Como melhorar a performance de websites.net

Luiz Eduardo Borges. Novatec

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

André Gugliotti. Novatec

Google Analytics Justin Cutroni

Ricardo Lino Olonca. Novatec

Nelson Glauber de Vasconcelos Leal

Ademir C. Gabardo. Novatec

Google Android para Tablets

2ª edição. Daniel Adorno Gomes. Novatec

Luiz Eduardo Borges. Novatec

Conrado Adolpho. Novatec

Google Android para Tablets

Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Padrões de Projeto em PHP

Guia do Programador Joel Saade

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Capa: Victor Bittow Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata

Robson Santos da Silva

Ademir Cristiano Gabardo. Novatec

Ademir Cristiano Gabardo. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

UML 2 uma abordagem prática Gilleanes T. A. Guedes

Daniel Moreno. Novatec

WordPress 3 Básico Stephanie Leary

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Andreas Wittig Michael Wittig

Larry Ullman. Novatec

Pete Goodliffe. Novatec

Matheus Marabesi Michael Douglas

Osvaldo Santana Thiago Galesi

Hélio Engholm Jr. Novatec

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Ben Vinegar Anton Kovalyov

jquery Cookbook Comunidade de Desenvolvedores jquery

Maurício Samy Silva. Novatec

Miguel Grinberg. Novatec

Transcrição:

Zend Framework Componentes Poderosos para PHP Flávio Gomes da Silva Lisboa Novatec

Copyright 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Capa: Victor Bittow ISBN: 978-85-7522-365-9 Histórico de impressões: Agosto/2013 Segunda edição Setembro/2010 Primeira reimpressão Julho/2009 Primeira edição (ISBN: 978-85-7522-189-1) Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec MP20130826

Sumário Agradecimentos...13 Sobre o autor...14 Prefácio...15 Capítulo 1 Introdução...20 1.1 Manutenção de software...23 1.2 Arquitetura de software...27 1.3 Boas práticas de desenvolvimento... 41 1.4 Ambiente de desenvolvimento...54 1.5 Instalação do Zend Framework 2... 66 Capítulo 2 Bússola de PHP...68 2.1 Configuração do PHP...69 2.2 Tipos de dados...70 2.3 Strings...74 2.4 Arrays... 81 2.5 Funções...85 2.6 Classes e objetos...89 2.7 Data e hora...97 2.8 Diretórios e arquivos... 102 2.9 Monitoração e medição em segundo plano...106 2.10 Servidor embutido... 107 Capítulo 3 MVC com Zend Framework 2...108 3.1 Criação do projeto...108 3.2 Edição de projeto...114 7

8 Zend Framework Componentes Poderosos para PHP 3.3 Criação de módulo...117 3.4 Criação das rotas...119 3.5 Criação das ações do controlador... 122 3.6 Edição de leiaute... 123 3.7 Criação das visões... 124 3.8 Banco de dados, modelo e mapeador... 124 3.9 Conexão e mapeamento objeto-relacional como serviço... 129 3.10 Implementando as ações do controlador... 132 3.11 Criando formulários dinâmicos... 134 3.12 Modelo e mapeador com relacionamento... 148 3.13 Mapeando várias tabelas... 152 3.14 Formulário com mapeador... 153 3.15 Visões de um modelo relacionado... 155 3.16 Um controlador com dois modelos pelo preço de um... 158 3.17 Ajustando o módulo Application... 163 3.18 Guia de referência rápida do MVC do Zend Framework 2...164 Capítulo 4 Além do MVC...180 4.1 Uma aplicação sem virtual host... 180 4.2 Usando view helpers...181 4.3 Usando plugin controllers... 184 4.4 Enviando dados do controlador para view helpers... 194 4.5 Navegação de páginas... 196 4.6 Paginação de dados... 198 Capítulo 5 Trabalhando com componentes...208 5.1 Como usar um componente ZF2 de forma isolada...208 5.2 Como criar componentes...223 Capítulo 6 Bússola de segurança...244 6.1 Tratamento e neutralização de saída perigosa...244 6.2 Ataques XSS... 245 6.3 Ataques de injeção de SQL...246 6.4 Ataques de simulação de requisição... 247 6.5 Melhores práticas de segurança... 249

Sumário 9 Capítulo 7 Filtros...254 7.1 Zend\Filter...254 7.2 Filtros predefinidos... 255 7.3 Cadeias de filtro... 257 7.4 Criando filtros customizados... 257 7.5 Zend\InputFilter\InputFilter...258 Capítulo 8 Validadores...259 8.1 Zend\Validator... 259 8.2 Customizando mensagens...260 8.3 Validadores predefinidos... 261 8.5 Criando validadores customizados...264 Capítulo 9 Criptografia...266 9.1 Criptografando textos... 267 9.2 Criptografando e verificando senhas...268 Capítulo 10 Autenticação...270 10.1 Zend\Authentication\AuthenticationService...270 10.2 Persistência de identidade... 271 10.3 Resultados de autenticação... 271 10.4 Perguntas e respostas...272 10.5 Implementando autenticação na aplicação...273 Capítulo 11 Controle de permissões...284 11.1 Zend\Permissions\Acl...284 11.2 Zend\Permissions\Rbac...289 Capítulo 12 Bússola de acesso a banco de dados...292 12.1 Guia de referência rápida do Zend\Db...293 12.2 Zend Framework 2 e Doctrine 2...306 Capítulo 13 Bússola de web services...325 13.1 XML-RPC... 325 13.2 SOAP... 327 13.3 JSON-RPC... 329

10 Zend Framework Componentes Poderosos para PHP Capítulo 14 Bússola de comunicação...330 14.1 RSS...330 14.2 JSON...331 14.3 E-mail... 332 Capítulo 15 Bússola de infraestrutura...334 15.1 Zend\Config... 334 15.2 Zend\Log...336 Capítulo 16 Bússola de internacionalização...342 16.1 Zend\I18n...342 16.2 Tradução de textos...342 16.3 Tradução de moedas...344 16.4 Tradução de datas...344 16.5 Tradução de números...345 Capítulo 17 Bússola de injeção de dependências...346 17.1 Zend\Di... 347 17.2 Zend\ServiceManager...349 Capítulo 18 Bússola de gerenciamento de eventos...350 18.1 Implementando o padrão Observador com SPL...351 18.2 Implementando observadores usando EventManager... 352 18.3 EventManager no MVC do ZF2... 355 Capítulo 19 Considerações finais...356 Apêndice A XAMPP...359 A.1 Parâmetros avançados do XAMPP no GNU/Linux... 359 A.2 Programas do XAMPP no Windows...360 A.3 Onde está o que no GNU/Linux...360 A.4 Onde está o que no Windows... 361 Apêndice B Integrando ZFTool e Eclipse para criar projetos e módulos...362

Sumário 11 Apêndice C Criando projetos ZF2 com o Composer...366 C.1 Instalando o Composer...366 C.2 Criando o projeto ZF2...366 Apêndice D Pesquisando em arquivos XML e XHTML...367 D.1 Pesquisa com notação CSS... 367 D.2 Pesquisa com notação XPath... 367 Glossário...368 Referências bibliográficas...371