ADIANTI FRAMEWORK PARA PHP



Documentos relacionados
ADIANTI FRAMEWORK PARA PHP

ADIANTI FRAMEWORK PARA PHP

ADIANTI FRAMEWORK PARA PHP

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

Criando Aplicações Gráficas com PHP

Cursos de Magento Gugliotti Consulting

Desenvolvendo Websites com PHP

Ademir C. Gabardo. Novatec

Criando Relatórios com PHP

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

David Hows Peter Membrey Eelco Plugge

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Desenvolvendo Websites com PHP

Noções de. Microsoft SQL Server. Microsoft SQL Server

PHP Programando com Orientação a Objetos

Sumário. Conteúdo Certificação OFFICE 2010

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Google Android para Tablets

Jonathan Stark Brian Jepson

Programação Web com Webdev 19 Julio Cesar Pedroso Conteúdo

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

NFePackSaaS GUIA DO USUÁRIO

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Manual de Administração Intranet BNI

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Plano de Aula - Dreamweaver CS6 - cód Horas/Aula

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Ricardo R. Lecheta. Novatec

Escrito por Sáb, 15 de Outubro de :19 - Última atualização Seg, 26 de Março de :32

Service Desk Corporativo

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

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Plano de Aula - Excel cód Horas/Aula

A engenharia de software avança por padrões

Escola Secundária de Camarate

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com


Copyright 2008, 2013 da Novatec Editora Ltda.

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

1. Introdução Instalação do Módulo Gerenciador de Acessos SinaGAS Tipos de Autenticação Autenticação Sinacor...

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS (GRUPO INFORMÁTICA) Ano Letivo de 2014/2015 MÓDULO 1 FOLHA DE CÁLCULO

Publicação em contexto académico: OJS na prática

Desenvolvimento de Grandes Aplicações Web

Manual de utilização do Zimbra

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9

FICHEIROS COM EXEMPLOS

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Luiz Carlos Querino Filho

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

J550 Segurança e Controle de erros

Roteiro de Testes - imercado HOMOLOGAÇÃO

Conteúdo Programático do Web Design

Diferenças da versão 6.3 para a 6.4

Plano de Aula - Word 2010 Avançado - cód Horas/Aula

Manual de Instalação do Agente Citsmart

Anexo V - Planilha de Apuração Aquisição de Solução de Redes Sociais

Portal Sindical. Manual Operacional Empresas/Escritórios

ASP.NET MVC em Ação. Jeffrey Palermo Ben Scheirman Jimmy Bogard. Novatec. Prefácio de Phil Haack

4ª Edição Pablo Dall Oglio

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

WebMail Manual do cliente

3 Estudo de Ferramentas

Microsoft Word INTRODUÇÃO

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

jquery Cookbook Comunidade de Desenvolvedores jquery

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

Criando Relatórios com PHP Pablo Dall Oglio

ARPO CAPACITAÇÃO PARA ADMINISTRADORES BPMN ++ MODELER. (11) W A G N E R B I A N C H I N I

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Acesso Remoto Intelbras Internet Explorer

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Direcção Regional de Educação do Algarve

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

Copyright 2015 Mandic Cloud Solutions - Somos Especialistas em Cloud.

INTRANET CONTROLE DE VERSÃO

Atualizações do Sistema. SMARsa

HAT Programação Auditoria Pós x. abril de Versão: 2.0

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

Plano de Curso. Conhecimentos Básicos do sistema operacional Windows, conceitos de internet.

MANUAL DO ADMINISTRADOR DO MÓDULO

Novidades do AVG 2013

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

Version Notes (Notas da versão) Versão

4 O Workflow e a Máquina de Regras

Treinamento Plone. Unirio

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

ESPECIFICAÇÃO DE PROGRAMAS. PROGRAMADOR Joel Victor. Introdução

Manual WebAdmin News

Transcrição:

ADIANTI FRAMEWORK PARA PHP 7ª edição PABLO DALL'OGLIO

Copyright 2012 de Pablo Dall'Oglio. Todos os direitos reservados e protegidos pela Lei 9.160 de 19/02/1998. É proibida a reprodução desta obra, mesmo que parcial, por qualquer processo, sem prévia autorização por escrito, do autor. Dezembro 2012 1a. edição Maio 2013 2a. edição Setembro 2013 3a. edição Maio 2014 4a. edição Janeiro 2015 5a. edição Setembro 2015 6a. edição Janeiro 2016 7a. edição Editor: Pablo Dall'Oglio Revisão gramatical: Fernanda Dall'Oglio Capa: Pablo Dall'Oglio Adianti Soluções Ltda. www.adianti.com.br Dados internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) Dall'Oglio, Pablo Adianti Framework para PHP / Pablo Dall'Oglio. Lajeado: Edição do autor, 2016. Bibliografia. ISBN 978-85-914354-6-3 1. Linguagens de programação 2. Frameworks 3. PHP 4. Adianti Framework

Sumário 1 Introdução... 10 1.1 Características... 10 1.2 Arquitetura... 13 1.3 Estrutura de diretórios... 15 2 Instalação e configuração... 17 2.1 Instalação do ambiente... 17 2.1.1 Ambiente Linux... 17 2.1.2 Ambiente Windows... 18 2.2 Instalação do framework... 18 2.2.1 Ambiente Linux... 18 2.2.2 Ambiente Windows... 19 2.3 A página de entrada... 19 2.3.1 O index... 20 2.3.2 O init... 21 2.3.3 O layout... 22 2.3.4 O menu... 23 2.3.5 As bibliotecas... 24 2.3.6 O engine... 25 2.4 Um controlador de página... 26 2.5 A aplicação tutor... 27 3 Modelos e persistência... 28 3.1 Modelo utilizado... 28 3.1.1 Modelo de classes... 28 3.1.2 Modelo relacional... 29 3.2 Configuração e acesso ao banco de dados...30 3.2.1 Criação do banco de dados... 30 3.2.2 Configuração do acesso... 32 3.2.3 Como executar os exemplos... 33 3.2.4 Transações e queries manuais... 34 3.2.5 Queries manuais com prepared statements...35 3.3 Manipulação de objetos... 36 3.3.1 O padrão Active Record... 36 3.3.2 Definindo uma classe Active Record... 37 3.3.3 Criação de novo objeto... 38 3.3.4 Carregamento de objeto... 39 3.3.5 O padrão Lazy Load... 40 3.3.6 Alteração de objeto... 42 3.3.7 Registro de log... 43 3.3.8 Encapsulamento... 45 3.3.9 Exclusão de objeto... 47

3.3.10 Primeiros e últimos Identificadores...48 3.3.11 Conversão entre Active Record e Array...49 3.3.12 Conversão para JSON... 50 3.3.13 Hook methods... 50 3.4 Manipulação de coleções... 52 3.4.1 O padrão Repository... 52 3.4.2 API de critérios... 53 3.4.3 Contagem de coleções... 54 3.4.4 Carregamento de coleções... 56 3.4.5 Carregamento paginado e ordenado...59 3.4.6 Alteração de coleções... 60 3.4.7 Exclusão de coleções... 61 3.5 Relacionamentos entre objetos...63 3.5.1 Associação... 63 3.5.2 Composição... 65 3.5.3 Agregação... 70 4 Componentes de apresentação... 76 4.1 Conceitos básicos... 76 4.1.1 Controlador de páginas... 76 4.1.2 Ações... 78 4.2 Containers... 79 4.2.1 Tabela... 79 4.2.2 Lidando com colunas em tabelas... 81 4.2.3 Trabalhando com células mescladas... 82 4.2.4 Painel... 84 4.2.5 Notebook... 86 4.2.6 Notebook Bootstrap... 87 4.2.7 Scroll... 88 4.2.8 Frame... 90 4.2.9 Caixas horizontais e verticais...91 4.2.10 Window... 92 4.3 Diálogos... 94 4.3.1 Informação... 95 4.3.2 Erro... 95 4.3.3 Questionamento... 96 4.3.4 Input... 98 4.4 Formulários... 99 4.4.1 Formulários rápidos... 100 4.4.2 Componentes para formulários...103 4.4.3 Postagem estática de formulários... 104 4.4.4 Formulários Bootstrap... 105 4.4.5 Formulários personalizados... 106 4.4.6 Formulários com abas... 109 4.4.7 Máscaras de input... 111 4.4.8 Estilos de botão... 112 4.4.9 Formulários reutilizáveis...113 4.4.10 Validações... 116 4.4.11 Criando um validador... 119 4.4.12 Seleções estáticas... 120 4.4.13 Seleções manuais... 123

4.4.14 Seleções automáticas... 125 4.4.15 Interações dinâmicas... 128 4.4.16 Habilitando e desabilitando campos...131 4.4.17 Botão de busca de registros... 133 4.4.18 Campo repetitivo... 135 4.4.19 Edição de HTML... 138 4.4.20 TreeView... 140 4.4.21 Ordenando elementos... 142 4.4.22 Apresentando resultado em janelas...143 4.5 Datagrids... 145 4.5.1 Datagrids rápidas... 145 4.5.2 Datagrids Bootstrap... 148 4.5.3 Datagrids personalizadas... 150 4.5.4 Datagrids com rolagem... 153 4.5.5 Ações em colunas de Datagrids...154 4.5.6 Métodos de transformação em datagrids...157 4.5.7 Datagrids com imagem... 159 4.5.8 Datagrids com barra de progresso...161 4.5.9 Datagrids com checkbutton... 162 4.5.10 Datagrids com campos de entrada...165 4.5.11 Agrupamento de ações em datagrids...167 4.5.12 Ações condicionais em datagrids... 169 4.5.13 Datagrids com Popover... 171 4.6 Transições de páginas... 172 4.6.1 Formulário passo a passo... 172 4.6.2 Passo a passo entre formulários diferentes...175 4.7 Relatórios... 179 4.8 Gráficos... 184 4.8.1 Gráfico de linhas... 184 4.8.2 Gráfico de barras... 185 4.8.3 Gráfico de pizza... 186 4.9 Exemplos específicos para web... 187 4.9.1 Integrando com jquery... 188 4.9.2 Template View básico... 189 4.9.3 Template View avançado... 192 4.9.4 Decorando Formulários com estilos...197 4.9.5 Criando novos componentes...200 5 Organização e controle... 203 5.1 Controladores padrão... 203 5.1.1 Controlador de formulário... 203 5.1.2 Controlador de datagrid...205 5.1.3 Controlador de formulário com datagrid...208 5.2 Controladores manuais... 211 5.2.1 Controlador de formulário... 211 5.2.2 Controlador de datagrid...215 5.2.3 Controlador de formulário com datagrid...221 5.3 Visões complexas... 226 5.3.1 Datagrid de clientes... 226 5.3.2 Formulário de clientes... 234 5.3.3 Busca de cidades... 241

5.3.4 Edição inline... 245 5.3.5 Formulário de Produtos... 248 5.3.6 Listagem de Produtos... 251 5.3.7 Consulta o status de um cliente... 254 5.3.8 Edição de registros em lote...257 5.3.9 Exclusão de registros em lote... 262 5.3.10 Seleção de registros em lote... 266 6 Estudos de caso... 271 6.1 Aplicação Library... 271 6.1.1 Diagrama de classes... 272 6.1.2 Modelo relacional... 273 6.1.3 Diagrama de casos de uso...274 6.1.4 Especificação dos casos de uso... 275 6.1.5 Logins e perfis... 276 6.1.6 Separação de templates... 276 6.1.7 Página de entrada... 278 6.1.8 Controlador de login... 279 6.1.9 Controle de permissões... 281 6.1.10 Controle de acesso no motor de execução...282 6.1.11 Internacionalização...283 6.2 Aplicação Changeman... 285 6.2.1 Diagrama de classes... 286 6.2.2 Modelo relacional... 287 6.2.3 Diagrama de casos de uso...288 6.2.4 Especificação dos casos de uso... 289 6.2.5 Logins e perfis... 290 6.2.6 Separação de templates... 291 6.2.7 Página de entrada... 292 6.2.8 Envio de emails... 293 7 Template para criação de sistemas... 296 7.1 Visão geral... 296 7.1.1 Estrutura... 297 7.1.2 Diagrama de classes... 297 7.1.3 Modelo relacional... 298 7.1.4 Menu... 299 7.1.5 Tela de Login... 300 7.1.6 Arquivos de layout... 302 7.1.7 Controles de acesso... 303 7.1.8 Telas de administração de permissões...305 7.1.9 Registro de logs... 306 7.1.10 Telas de administração de logs...310 7.2 Alteração de layout... 311 7.2.1 Tema 1... 311 7.2.2 Tema 2... 312 7.2.3 Tema 3... 312 7.3 Criando um novo tema... 313 7.4 Criando um programa dentro do Template...314 7.5 Práticas responsivas... 314