Criando Aplicações Gráficas com PHP



Documentos relacionados
Criando Relatórios com PHP

PHP Programando com Orientação a Objetos

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

Desenvolvendo Websites com PHP

Criando Relatórios com PHP Pablo Dall Oglio

Guia do Programador Joel Saade

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

André Gugliotti. Novatec

Copyright 2008, 2013 da Novatec Editora Ltda.

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

Harrison Kinsley Will McGugan

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

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

4ª Edição Pablo Dall Oglio

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

Luiz Carlos Querino Filho

jquery Cookbook Comunidade de Desenvolvedores jquery

PDF Explicado John Whitington

Primeiros Passos com o Raspberry Pi

Google Android para Tablets

Guia do Programador Joel Saade

ADIANTI FRAMEWORK PARA PHP

Wilson Moraes Góes. Novatec

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

ADIANTI FRAMEWORK PARA PHP

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

Ademir C. Gabardo. Novatec

Desenvolvimento de Grandes Aplicações Web

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

Desenvolvendo Websites com PHP

Web Interativa com Ajax e PHP

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Jonathan Stark Brian Jepson

Julia Elman e Mark Lavin. Novatec

Service Desk Corporativo

Design Centrado no Usuário

Edgar Gomes de Abreu

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

William Pereira Alves

Novatec Editora Ltda. [2014].

ÍNDICE. Introdução 19

Paulo Strelczuk. Novatec

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

Google Android para Tablets

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

David Hows Peter Membrey Eelco Plugge

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

Desenvolvendo Websites com PHP

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

Novatec Editora Ltda

Hélio Engholm Jr. Novatec

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

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

2ª Edição Alexandre Keller

Ricardo R. Lecheta. Novatec

Ademir Cristiano Gabardo. Novatec

Google Analytics Justin Cutroni

Adrian Mejia. Novatec

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

Wilson Moraes Góes. Novatec

Crie Seu Próprio Site

João Eriberto Mota Filho

Osvaldo Santana Thiago Galesi

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

Nelson Glauber de Vasconcelos Leal

Murillo Lo Visco. Novatec

Introdução à Programação com Python

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

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

Camila Porto. Novatec

Padrões de Projeto em PHP

Ricardo R. Lecheta. Novatec

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

Google Android para Tablets

Ricardo Kléber M. Galvão. Novatec

André Gugliotti. Novatec

Sumário. Capítulo 1 Revisão de PHP Capítulo 2 Melhorando o processamento de formulários... 46

Brandon Rhodes John Goerzen

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

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

Ricardo Lino Olonca. Novatec

João Eriberto Mota Filho

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

Conrado Adolpho. Novatec

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

Pramod J. Sadalage Martin Fowler

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

Matheus Marabesi Michael Douglas

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

Como melhorar a performance de websites.net

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

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

WordPress 3 Básico Stephanie Leary

Construindo Aplicações Web com. PHPe MySQL. André Milani. Novatec

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

Sumário. Sobre este livro 1. Direto ao assunto 7

Introdução à Programação Orientada a Objetos com C++ Antonio Mendes da Silva Filho

Transcrição:

Criando Aplicações Gráficas com PHP 3ª Edição Pablo Dall'Oglio Novatec

Copyright 2007, 2012 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: Débora Facin Editoração eletrônica: Carolina Kuwabata Capa: Pablo Dall'Oglio, Marcelo Nardeli e Karine Hermes ISBN: 978-85-7522-309-3 Junho/2012 Terceira edição Fevereiro/2007 Segunda edição (ISBN: 978-85-7522-110-5) Maio/2005 Primeira reimpressão Março/2004 Primeira edição (ISBN: 85-7522-048-9) 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 Dados Internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) Dall`Oglio, Pablo PHP-GTK : criando aplicações gráficas com PHP / Pablo Dall`Oglio. -- 3. ed. -- São Paulo : Novatec Editora, 2012. Bibliografia. ISBN 978-85-7522-309-3 1. PHP (Linguagem de programação para computadores) 2. PHP-GTK (Linguagem de programação para computadores) 3. Programação orientada para o objeto (Ciência da computação) I. Título. 07-0787 CDD-005.133 Índices para catálogo sistemático: 1. PHP-GTK : Linguagem de programação : Computadores : Processamento de dados 005.133 FSP20120530

Sumário Sobre o autor...13 Nota do autor...14 Organização do livro...16 Capítulo 1 Introdução...18 1.1 O que é o PHP?...18 1.2 O que é GTK?...19 1.3 O que é o PHP-GTK?... 20 1.4 Instalação em Linux... 22 1.4.1 Compilação... 22 1.4.2 Versão pré-compilada...23 1.4.3 Executando os programas...23 1.5 Instalação em Windows...24 1.5.1 Configuração...24 1.5.2 Executando os programas...24 Capítulo 2 Introdução ao PHP...25 2.1 Um programa PHP...25 2.1.1 Extensão de arquivos...25 2.1.2 Delimitadores de código...25 2.1.3 Comentários... 26 2.1.4 Comandos de saída (output)... 26 2.2 Variáveis... 27 2.2.1 Tipo Booleano... 29 2.2.2 Tipo Numérico... 30 2.2.3 Tipo String... 31 2.2.4 Tipo Array... 31 2.2.5 Tipo Objeto... 31 2.2.6 Tipo Recurso...32 2.2.7 Tipo Misto...32 2.2.8 Tipo Callback...32 2.2.9 Tipo NULL...32 2.3 Constantes...32 7

8 PHP-GTK Criando Aplicações Gráficas com PHP 2.4 Operadores...33 2.4.1 Atribuição...33 2.4.2 Aritméticos...33 2.4.3 Relacionais... 34 2.4.4 Lógicos... 36 2.5 Estruturas de controle...37 2.5.1 IF...37 2.5.2 WHILE...39 2.5.3 FOR... 40 2.5.4 SWITCH... 41 2.5.5 FOREACH... 43 2.5.6 CONTINUE... 44 2.5.7 BREAK... 44 2.6 Requisição de arquivos... 44 2.7 Manipulação de funções...45 2.7.1 Criação...45 2.7.2 Variáveis globais... 46 2.7.3 Variáveis estáticas...47 2.7.4 Passagem de parâmetros...47 2.7.5 Recursão... 49 2.8 Manipulação de arquivos e diretórios... 49 2.9 Manipulação de strings...52 2.9.1 Declaração...52 2.9.2 Concatenação...52 2.9.3 Caracteres de Escape...53 2.9.4 Funções...53 2.10 Manipulação de arrays...57 2.10.1 Criando um array...57 2.10.2 Arrays associativos...57 2.10.3 Iterações... 58 2.10.4 Acesso... 58 2.10.5 Arrays multidimensionais...59 2.10.6 Funções... 61 Capítulo 3 Objetos e bancos de dados...65 3.1 Orientação a objetos... 65 3.1.1 Introdução... 65 3.1.2 Classe... 68 3.1.3 Objeto... 71 3.1.4 Construtores e destrutores...73 3.1.5 Herança...75 3.1.6 Polimorfismo...78 3.1.7 Encapsulamento... 79 3.1.8 Interfaces... 85 3.1.9 Autoload... 86 3.1.10 Tratamento de erros... 87

Sumário 9 3.2 Bancos de dados... 90 3.2.1 Acesso nativo... 90 3.2.2 PDO PHP Data Objects... 95 Capítulo 4 Introdução ao PHP-GTK...100 4.1 Interfaces gráficas...100 4.2 Conceitos básicos...102 4.2.1 Widget...102 4.2.2 Contêineres...102 4.2.3 Signals...104 4.2.4 Callback...104 4.3 Ciclo de vida de um objeto...104 4.3.1 Criação...104 4.3.2 Empacotamento...105 4.3.3 Criação da função callback...105 4.3.4 Conexão de sinal...106 4.3.5 Passando parâmetros...106 4.3.6 Exibição...106 4.3.7 Inicialização...107 4.3.8 Destruição...107 4.4 Exemplos básicos...107 4.4.1 Criando uma janela...107 4.4.2 Olá Mundo...108 4.4.3 Olá Mundo orientado a objetos...109 4.5 Hierarquia das classes... 110 4.5.1 Descrição das classes... 112 Capítulo 5 Componentes diversos...121 5.1 Componentes básicos...121 5.1.1 Janela...121 5.1.2 Maximizar... 123 5.1.3 Posicionamento... 123 5.1.4 Rótulos de texto... 125 5.1.5 Botões...126 5.1.6 Entrada de dados...127 5.2 Caixas...128 5.2.1 Caixa vertical...128 5.2.2 Caixa horizontal...129 5.2.3 Caixa horizontal e vertical...130 5.2.4 Caixa de botões... 132 5.3 Rótulos... 133 5.3.1 Alinhamento de rótulos... 133 5.3.2 Formatação de rótulos... 135 5.4 Botões...136 5.4.1 Sinais...136 5.4.2 Botões de estoque...138

10 PHP-GTK Criando Aplicações Gráficas com PHP 5.4.3 Botões com imagens... 140 5.4.4 Formatação de botões...141 5.4.5 Radio Buttons... 142 5.4.6 Check Buttons... 145 5.4.7 Botões de cor e fonte... 148 5.5 Entrada de dados...150 5.5.1 Alinhamento...150 5.5.2 Obtendo valores... 152 5.5.3 Obtendo valores OO... 153 5.5.4 Completação...156 5.5.5 Spin Buttons... 157 5.5.6 Combo Box... 159 5.6 Imagens...162 5.6.1 Imagem de arquivo...162 5.6.2 Imagens de estoque...163 5.7 Mais widgets...164 5.7.1 Escalas...164 5.7.2 Separadores... 167 5.7.3 Calendário...168 5.7.4 Barra de progresso... 170 5.8 Mais contêineres... 173 5.8.1 Tabela... 173 5.8.2 Frame... 175 5.8.3 Notebook... 176 5.8.4 Fixed... 179 5.8.5 Expander...180 5.8.6 Layout...181 5.8.7 View Port...183 5.8.8 Barra de ferramentas...184 5.8.9 Barra de status...186 5.8.10 Painéis...189 5.9 Diálogos...190 5.9.1 Sobre...190 5.9.2 Mensagens de informação...191 5.9.3 Mensagens de erro... 193 5.9.4 Mensagens de questionamento...194 5.9.5 Diálogos de input...194 5.9.6 Seleção de arquivos...196 5.9.7 Seleção de fontes...198 5.9.8 Seleção de cores...199 5.10 Menus... 201 5.10.1 Barra de menu... 201 5.10.2 Menu Pop-up...204 5.10.3 HandleBox...207

Sumário 11 Capítulo 6 Textos, listas e árvores...209 6.1 Padrão MVC...209 6.2 Exibição de textos... 210 6.3 Listas e árvores... 214 6.3.1 Manipulando listas... 216 6.3.2 Exibindo listas... 219 6.3.3 Listas com imagems...223 6.3.4 Edição de listas...228 6.4 Árvores...233 6.4.1 Manipulando árvores...233 6.4.2 Exibindo árvores...236 Capítulo 7 Estendendo o GTK...241 7.1 Herança... 241 7.2 Exibindo mensagens...242 7.3 Perguntas...244 7.4 Caixa de digitação...245 7.5 Botões com imagem... 247 7.6 Menus...250 7.7 Formulários... 252 7.8 Listagem de dados...259 7.9 Editor de textos... 266 7.10 Calculadora... 271 capítulo 8 Acessando bancos de dados...276 8.1 Introdução ao SQL...276 8.2 SQLite...278 8.3 Formulário de cadastro...279 8.3.1 Criando a classe para cadastro...279 8.3.2 Executando o cadastro...283 8.4 Listagem de dados...283 8.4.1 Criando a classe para a listagem...284 8.4.2 Executando a listagem...289 8.5 Janela da aplicação...289 8.6 Navegação em banco de dados...292 8.6.1 Criando uma classe de modelo...292 8.6.2 Criando a interface...296 Capítulo 9 Utilizando o Glade...305 9.1 Introdução...305 9.1.1 Onde encontrar... 306 9.1.2 Paleta de widgets... 306 9.1.3 Árvore de widgets...307 9.1.4 Janela de projeto...307 9.1.5 Janela de propriedades...308

12 PHP-GTK Criando Aplicações Gráficas com PHP 9.2 Arquivo Glade XML...309 9.3 Exemplo I... 310 9.4 Exemplo II... 312 9.5 Conexão automática de sinais I...314 9.6 Conexão automática de sinais II... 317 9.7 Estendendo o Glade... 318 9.8 Publicando notícias...320 9.8.1 Criando a interface...320 9.8.2 Construindo o código...325 9.9 Emitindo notas fiscais...328 9.9.1 Criando a interface...328 9.9.2 Criando o arquivo PDF...330 9.9.3 Criando a interface...334 Capítulo 10 Extras...340 10.1 Tela de login...340 10.2 Aceleradores...343 10.3 Relógio...345 10.4 Movendo objetos...346 10.5 Capturando teclas...348 10.6 Desenhando na tela...350 10.7 Área de transferência... 355 10.8 Listando as imagens de estoque...357 10.9 Fechando uma janela...359 10.10 Tela de inicialização... 361 10.11 Combo com modelo de dados...363 10.12 Sensibilidade... 366 10.13 Tooltips...367 10.14 Cores... 368 10.15 Setas...369 10.16 Cursores...370 10.17 Abrindo e fechando janelas... 371 10.18 Visão de ícones... 375 10.19 Editor de códigos...377 10.20 Web Services...387 Bibliografia...393 Índice remissivo...396