ADIANTI FRAMEWORK PARA PHP

Documentos relacionados
ADIANTI FRAMEWORK PARA PHP

ADIANTI FRAMEWORK PARA PHP

ADIANTI FRAMEWORK PARA PHP

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

4ª Edição Pablo Dall Oglio

Criando Relatórios com PHP Pablo Dall Oglio

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

Miguel Grinberg. Novatec

Ademir Cristiano Gabardo. Novatec

Osvaldo Santana Thiago Galesi

Ademir Cristiano Gabardo. Novatec

Introdução Capítulo 1: Um Olhar sobre as Funcionalidades e Interface do Microsoft Excel

William Pereira Alves

Ademir C. Gabardo. Novatec

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

A c c e s s. Data Lógica Informática. Ambiente Real Conhecimento de Verdade. Carga Horária (referencial): 30 horas. Pré-requisito: Windows

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

Adriano Pataro. Novatec

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

Ruby on Rails Avançado

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Matheus Marabesi Michael Douglas

MÓDULO 8 INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA POR OBJETOS O QUE É A PROGRAMAÇÃO ORIENTADA POR OBJETOS 10

Desenvolvendo Websites com PHP

Web Interativa com Ajax e PHP

Curso de Técnicas de Desenvolvimento Utilizando o UIB

Shyam Seshadri & Brad Green

Criando Aplicações Gráficas com PHP

A c c e s s B á s i c o

WordPress 3 Básico Stephanie Leary

Sistemas Comerciais Java EE com CDI, JPA e PrimeFaces

2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo

Laravel Framework PHP Carga horária: 40 horas

PHP Programando com Orientação a Objetos

André Gugliotti. Novatec

Indira Knight. Novatec

3ª Edição Nilo Ney Coutinho Menezes

PHP-GTK. Criando Aplicações Gráficas com PHP. Pablo Dall'Oglio. Segunda Edição Inclui PHP 5 e GTK 2. Novatec

desenvolva aplicações web profissionais com uso dos poderosos recursos de estilização das css3 Maurício Samy Silva

Programando com ASP.NET MVC. Aprenda a desenvolver aplicações web utilizando a arquitetura MVC. Alfredo Lotar. Novatec

Curso. Liferay Desenvolvedor

Classes de Projeto. Prof. Anderson Cavalcanti UFRN-CT-DCA

Ben Vinegar Anton Kovalyov

CONTEÚDO PROGRAMÁTICO

Maurício Samy Silva. Novatec

Manual de Utilização. Versão 01 - Rev. 01/2014 PCOP

Edécio Fernando Iepsen

DreamweaverCC Plano de Aula - 24 Aulas (Aulas de 1 Hora).

José Vieira & José Esmeriz. Universidade do Minho

Plano de Aula - DreamWeaver CC - cód Horas/Aula

Sérgio de Oliveira. Novatec

Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

TÉCNICO EM INFORMÁTICA

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Sumário PARTE I: INTRODUÇÃO A JQUERY E JAVASCRIPT 3

Dreamweaver CS6 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

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

Sumário. Prefácio 16. Capítulo 1 - Solicitação de Avaliação de Aplicativo na Play Store 24. Capítulo 2 - Mantendo Listas, Sem Novos Carregamentos 62

ESCOLA SECUNDÁRIA MANUEL DA FONSECA, SANTIAGO DO CACÉM GRUPO DISICPLINAR - Informática ANO: 10º TICP ANO LECTIVO: 2008/2009 p.1/6

Sumário. Introdução 1

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Alura Ensino Online. Rua Vergueiro, 3185, 8º andar, São Paulo, SP

WordPress - Criação de Plugins Carga horária: 40 horas

Introdução ao Zend Framework 2

Access 2010 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

Universidade Federal de Uberlândia Faculdade de Computação Projeto de Programação para Internet Prof. Dr. Daniel A Furtado

Sumário. Parte I JavaScript básica. 1 Introdução a JavaScript Estrutura léxica Tipos, valores e variáveis... 28

Hélio Engholm Jr. Novatec

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Manual de Versão Sistema Condomínio21

Formação JAVA Web.

Plano de Aula - Access cód Horas/Aula

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Apresentação. Treinamento OTRS Help Desk

O Curso Excel Completo prevê um alargado desenvolvimento de competências nas várias ferramentas e funcionalidades do Microsoft Excel.

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

DESENVOLVIMENTO DO SISTEMA DE CONSULTA DE DADOS DO GSC-UNIJUÍ 1

EGIS FUNCIONALIDADES BÁSICAS

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

CONTEÚDO PROGRAMÁTICO

Recomenda-se a leitura completa deste documento antes de iniciar o desenvolvimento do website.

Manual de Versão Sistema Condomínio21

CURSO PROFISSIONAL Técnico de Gestão e Programação de Sistemas Informáticos

Robson Santos da Silva

Benjamin Bengfort Jenny Kim

4ª Edição Revisada e Ampliada Allan Brito

FIGURA 59 Interação entre componentes da plataforma CrystalWalk. Fonte: do autor.

Especificações e limites de planilha e de pasta de trabalho

Plano de Aula - Access cód Horas/Aula

C# (C Sharp) - Web Forms (Módulo 1) Avançado

Transcrição:

ADIANTI FRAMEWORK PARA PHP 8ª 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 Janeiro 2017 8a. 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, 2017. Bibliografia. ISBN 978-85-914354-7-0 1. Linguagens de programação 2. Frameworks 3. PHP 4. Adianti Framework

Sumário 1 Introdução...11 1.1 Características...11 1.2 Arquitetura...14 1.3 Estrutura de diretórios...16 2 Instalação e configuração...18 2.1 Instalação do ambiente...18 2.1.1 Ambiente Linux...18 2.1.2 Ambiente Windows...19 2.2 Instalação do framework...19 2.2.1 Ambiente Linux...19 2.2.2 Ambiente Windows...20 2.3 A página de entrada...20 2.3.1 O index...21 2.3.2 O init...22 2.3.3 O layout...23 2.3.4 O menu...24 2.3.5 As bibliotecas...25 2.3.6 O engine...26 2.4 Um controlador de página...27 2.5 A aplicação tutor...28 3 Modelos e persistência...29 3.1 Modelo utilizado...29 3.1.1 Modelo de classes...29 3.1.2 Modelo relacional...30 3.2 Configuração e acesso ao banco de dados...31 3.2.1 Criação do banco de dados...31 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...46 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...58 3.4.6 Alteração de coleções...60 3.4.7 Exclusão de coleções...62 3.5 Relacionamentos entre objetos...64 3.5.1 Associação...64 3.5.2 Composição...66 3.5.3 Agregação...71 4 Componentes de apresentação...77 4.1 Conceitos básicos...77 4.1.1 Controlador de páginas...77 4.1.2 Ações...79 4.2 Containers...80 4.2.1 Tabela...81 4.2.2 Lidando com colunas em tabelas...82 4.2.3 Trabalhando com células mescladas...84 4.2.4 Painel...85 4.2.5 Notebook...87 4.2.6 Notebook Bootstrap...88 4.2.7 Panel group...89 4.2.8 Scroll...90 4.2.9 Frame...91 4.2.10 Caixas horizontais e verticais...93 4.2.11 Window...94 4.3 Diálogos...95 4.3.1 Informação...95 4.3.2 Erro...96 4.3.3 Questionamento...97 4.3.4 Input...98 4.4 Formulários...100 4.4.1 Formulários rápidos...100 4.4.2 Componentes para formulários...104 4.4.3 Postagem estática de formulários...105 4.4.4 Formulários rápidos com abas...106 4.4.5 Formulário personalizado com abas...107 4.4.6 Bootstrap Form Wrapper...110 4.4.7 Bootstrap Form Builder...114 4.4.8 Formulário com múltiplos valores...116 4.4.9 Estilos de botão...119 4.4.10 Máscaras de input...121 4.4.11 Validações...122 4.4.12 Criando um validador...125

4.4.13 Seleções estáticas...126 4.4.14 Seleções manuais...129 4.4.15 Seleções automáticas...131 4.4.16 Interações dinâmicas...135 4.4.17 Habilitando e desabilitando campos...138 4.4.18 Botão de busca de registros...140 4.4.19 Edição de HTML...143 4.4.20 Listas de ordenação...144 4.4.21 Apresentando resultado em janelas...146 4.4.22 Formulários MVC reutilizáveis...147 4.5 Datagrids...150 4.5.1 Datagrids rápidas...150 4.5.2 Datagrids Bootstrap...153 4.5.3 Datagrids personalizadas...154 4.5.4 Datagrids com rolagem...157 4.5.5 Ações em colunas de Datagrids...158 4.5.6 Métodos de transformação em datagrids...161 4.5.7 Datagrids com imagem...163 4.5.8 Datagrids com barra de progresso...164 4.5.9 Datagrids com cálculos matemáticos...166 4.5.10 Datagrids com checkbutton...169 4.5.11 Datagrids com campos de entrada...171 4.5.12 Agrupamento de ações em datagrids...174 4.5.13 Ações condicionais em datagrids...175 4.5.14 Datagrids com Popover...177 4.6 Transições de páginas...179 4.6.1 Passo a passo com o mesmo formulário...179 4.6.2 Passo a passo entre formulários diferentes...182 4.7 Utilitários...186 4.7.1 Árvore...186 4.7.2 Calendário...188 4.8 Templates e novos componentes...190 4.8.1 Template View básico...190 4.8.2 Template View avançado...193 4.8.3 Template View com matrizes...198 4.8.4 Criando componentes...200 4.9 Relatórios...203 4.10 Gráficos...208 4.10.1 Gráfico de linhas...208 4.10.2 Gráfico de barras...209 4.10.3 Gráfico de pizza...210 5 Organização e controle...212 5.1 Controladores padrão...212 5.1.1 Controlador de formulário...212 5.1.2 Controlador de datagrid...214 5.1.3 Controlador de formulário com datagrid...217 5.2 Controladores manuais...220 5.2.1 Controlador de formulário...220 5.2.2 Controlador de datagrid...223 5.2.3 Controlador de formulário com datagrid...229

5.3 Visões complexas...234 5.3.1 Datagrid de clientes...235 5.3.2 Formulário de clientes...243 5.3.3 Busca de cidades...251 5.3.4 Edição inline...255 5.3.5 Formulário de Produtos...258 5.3.6 Listagem de Produtos...261 5.3.7 Consulta o status de um cliente...264 5.3.8 Edição de registros em lote...267 5.3.9 Exclusão de registros em lote...272 5.3.10 Seleção de registros em lote...276 6 Template para criação de sistemas...281 6.1 Visão geral...281 6.1.1 Módulos...282 6.1.2 Estrutura de diretórios...284 6.1.3 Formulário de Login...284 6.1.4 Menu da aplicação...285 6.1.5 Layout e temas...286 6.2 Módulo Administração...288 6.2.1 Diagrama de classes...288 6.2.2 Modelo relacional...289 6.2.3 Autenticação...291 6.2.4 Controle de acesso...293 6.2.5 Cadastro de programas...296 6.2.6 Cadastro de grupos...296 6.2.7 Cadastro de usuários...297 6.2.8 Cadastro de unidades...297 6.2.9 Painel de SQL...298 6.2.10 Preferências...298 6.3 Módulo Logs...299 6.3.1 Diagrama de classes...299 6.3.2 Modelo relacional...300 6.3.3 Logs de acesso...301 6.3.4 Logs de SQL...302 6.3.5 Logs de alterações...303 6.4 Módulo Comunicação...304 6.4.1 Diagrama de classes...304 6.4.2 Modelo relacional...305 6.4.3 Gestão de documentos...306 6.4.4 Troca de mensagens...308 6.4.5 Notificações do sistema...309 6.5 Dicas de utilização...310 6.5.1 Novos temas...310 6.5.2 Criando um programa dentro do Template...311 6.5.3 Práticas responsivas...311 7 Estudos de caso...314 7.1 Aplicação Library...314 7.1.1 Conteúdo da aplicação...315 7.1.2 Diagrama de classes...315

7.1.3 Modelo relacional...316 7.1.4 Diagrama de casos de uso...317 7.1.5 Especificação dos casos de uso...318 7.1.6 Logins e perfis...319 7.1.7 Internacionalização...319 7.2 Aplicação Changeman...322 7.2.1 Conteúdo da aplicação...322 7.2.2 Diagrama de classes...322 7.2.3 Modelo relacional...323 7.2.4 Diagrama de casos de uso...324 7.2.5 Especificação dos casos de uso...325 7.2.6 Logins e perfis...326 7.2.7 Envio de emails...327