3. TalkLog
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
FISL - Porto Alegre, May 4, 2002;
SICOMP - Univates, April 11, 2002;
1ª sem. Informática, Urcamp, May, 27, 2002;
2ª sem. Informática, Urcamp, October, 18, 2002;
I SDSL, Unisinos, July, 17, 2003;
Tríade Acadêmica, Feevale, Oct, 2003;
Conf. SL Brasil, Curitiba, Nov, 6, 2003;
UniInfo, Unisinos, Nov, 14 2003;
II SDSL, Unicamp, Dec, 24, 2003;
I SCSL, Brasília, April, 29, 2004;
5 FISL, Porto Alegre, June, 3, 2004;
III SDSL, Univates, July, 20, 2004;
Criciúma, SC, Aug, 14, 2004;
UniInfo, Unisinos, Oct, 2004;
Fórum do Gnome, Foz do Iguaçu, Nov, 2004;
FURG, Rio Grande, Out, 2005;
Fórum do Gnome, Curitiba, Nov, 2005;
II Jornadas de Informática, Fac. Int. Itararé, Maio, 2006;
PHP Conference Brasil, Novembro, 2006;
PHP Road Show, Brasília, Maio, 2007;
PHP Now, Petrópolis-RJ, Novembro, 2007;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
4. O que é o PHP-GTK ?
●
Agenda;
●
Chat;
●
Grafico (jpgraph);
●
PhotoManager;
●
Excel;
●
Tulip;
●
Agata;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
5. História
PHP 1,2,3
▪ 1994 Rasmus Lerdorf (Personal Home Pages);
▪ Ferramenta para criar páginas dinâmicas;
▪ Voltada para web (comércio eletrônico, portais);
PHP 4
▪ Independência da Web;
▪ Scripts shell;
▪ PHP-GTK;
PHP 5
▪ Fortemente OO;
▪ Interfaces, visibilidade, membros estáticos,
abstract, final;
▪ Object Clonning, objetos como referência;
▪ Construtores, Destrutores, Manipulação de erros;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
6. Considerações
• Extremamente fácil de utilizar;
• Possivelmente a linguagem de script mais utilizada na
web;
• Vasta Bibliografia a respeito;
• Muitas funções (arquivos, arrays, strings, XML, Imagens,
ZIP, PDF, FTP, LDAP);
• Postgres, Oracle, Mysql, Sql$erver, SQLite, Firebird,
Sybase, Frontbase, Informix, ODBC, DBase, SapDB,
Adabas, DB2...
• Rápida, Flexível, não-rígida, tipagem dinâmica;
• Permite tanto abordagem Procedural quanto OO;
• A maioria de quem trabalha com PHP, não usa OO;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
7. GTK
Toolkit multi-plataforma para criar aplicações
gráficas;
Gtk+ foi desenvolvido para o GIMP, o GNU Image
Manipulation Program. Gtk+ significa GIMP Tool Kit.
O GTK+ tem crescido desde os primórdios e agora é
usado como parte central do Gnome, o ambiente
desktop GNU .
Gtk+ tem sido portado para o BeOS e Win32,
fazendo-se a escolha perfeita para ser usado como
base para uma extensão do PHP, mantendo o PHP
independente de plataforma e permitindo a criação
de aplicações "janelizadas" em PHP para linux, BeOS
e Windows.
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
12. Tudo Começou...
• PHP-GTK é uma extensão do PHP;
• Criado por Andrei Zmievski;
• Nasceu como um experimento;
• Desenvolvido no outono de 2000;
• Primeira versão em Março de 2001;
• 2006 => PHP-GTK2 (PHP5 com GTK2);
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
14. Web versus Client
Aplicações Web
• Dirigida à requisição de páginas;
• Execução procedural;
• Total integração com o servidor;
Aplicações Cliente
• Dirigidas à eventos;
• O programador cria a interface, e esta aguarda por
eventos ou sinais;
• Tem acesso aos recursos da máquina cliente, além
do servidor;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
16. Widgets
• Widgets é uma palavra derivada de “Windows” +
“Gadgets”. Um widget é um componente da
interface gráfica com o qual o usuário pode
interagir. Como uma caixa de texto, label,
frame;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
18. Signals
• São notificações (mensagens) emitidas por
widgets. Quando se programa Interfaces Gráficas
(GUI) geralmente é necessário responder a ações
realizadas pelo usuário ou iniciadas dentro do
próprio programa. Quando um usuário clica em
um botão, um sinal é emitido.
•
•
•
•
destroy
row-activated
activate
pressed, released, clicked
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
19. Callbacks
• São funções que são registradas pelo
programador para reagir a sinais emitidos por
widgets.
$widget>connect('signal','callback');
Exemplo:
$button>connect('clicked', 'alerta_usuario');
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
20. Empacotamento
• Construção da interface através de Containers:
• GtkHBox, GtkVBox, GtkFrame, GtkNotebook;
Exemplo:
$janela = new GtkWindow;
$hbox = new GtkHBox;
$janela>add($hbox);
$hbox>pack_start(new GtkLabel('Código...:'));
$hbox>pack_start(new GtkEntry);
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
23. Glade
O Glade é uma ferramenta para
acelerar a construção da interface da
aplicação, os projetos desenvolvidos
nele são gravados no formato XML.
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
32. SQLite
• Embutido no PHP5;
• Iniciado no ano de 2000
por Richard Hipp;
• Banco de Dados composto
por simples arquivos;
• Subselect, triggers,
transações, views, 2-3x
mais rápido que MySQL,
limite de 2 Terabytes,
views são read-only, sem
foreign keys;
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=
41. Creative Commons
Estes slides estão disponíveis sob a licença não comercial da
creative commons 1.0;
• Você pode distribuir, copiar, exibir e realizar outros trabalhos
seguindo estas condições:
▪ Atribuição: Você deve dar os créditos ao autor original;
▪ Não-Comercial: Você não pode utilizar este trabalho para
propósitos comerciais;
▪ Não derivar trabalhos: Você não pode alterar, transformar, ou
construir algo sobre este trabalho.
▪ Para todo reuso ou distribuição, você deve deixar explícito para
os outros, os termos da licença deste trabalho;
▪ Estas condições podem ser alteradas se você obter permissão do
autor;
• O uso justo e outros direitos não são afetados pelas condições
acima.
•
Pablo Dall'Oglio [pablo@php.net]
PHP-GTK2
+
=