Introdução ao PHP-GTK

Este artigo tem como objetivo apresentar a linguagem php-GTK e a facilidade de sua programação, independente do grau de conhecimento de cada interessado em desenvolver softwares com uma linguagem gráfica, portável e prática.

[ Hits: 52.676 ]

Por: Zendrael em 17/04/2006


Explicando o código



Vamos agora entender as linhas do código:

dl('php_gtk.'.PHP_SHLIB_SUFFIX);

Aqui informamos ao interpretador do PHP que deve ser usada a biblioteca do php-GTK e deixamos que ele reconheça em que sistema operacional estamos trabalhando por meio do comando PHP_SHLIB_SUFFIX, fazendo que ele dê o sufixo correto para a biblioteca ("so" no Linux, "dll" no Windows).

$win = new gtkwindow();

Este é o primeiro objeto a ser criado geralmente: a janela da aplicação. Criamos a variável $win dizendo que ela é um objeto do tipo gtkWindow (janela GTK). Instanciamos o objeto gtkWindow.

$lbl = new gtklabel('olá mundo!');

Esta é a label que irá conter nossa mensagem de exemplo. Entre os parênteses informamos a string conteúdo da label.

$win->add($lbl);

Um dos detalhes legais do GTK: o empacotamento. Aqui adicionamos a label à janela principal que criamos, sem isso a label simplesmente existiria em nosso código, mas não poderíamos vê-la quando a janela fosse exibida; todos os Widgets (palavra nova? esses são os objetos do php-GTK) devem ser colocados numa janela para serem visualizados.

$win->set_default_size(200,100);

Esta linha é para mostrar como se trabalha com as propriedades dos widgets; neste caso vê-se que está sendo definido um tamanho para a janela.

$win->connect_object('destroy',array('gtk','main_quit'));

Todos os objetos possuem propriedades e eventos. Nesta linha conectamos o evento "destroy" da janela ao evento de saída do GTK. Caso você queira associar este evento a uma outra função qualquer que criou, bastaria fazer:

$win->connect_object('destroy','nome_da_função');
ou
$win->connect_object('destroy','nome_da_função', 'parâmetro1', 'parâmetro2');
etc...

$win->show_all();

Aqui é que dizemos à janela que ela deve ser exibida e todos os widgets que estão nela. Se usássemos apenas "$win->show();" a label não apareceria mesmo estando dentro da janela.

gtk::main();

Loop principal do php-GTK, ele é que inicia a aplicação.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Considerações iniciais
   3. Construindo hello.php
   4. Explicando o código
   5. Conclusão e dicas
Outros artigos deste autor

Pascal para Web com CGI - Parte I

Pascal para Web com CGI - Parte II

Leitura recomendada

Ato 2 - comandos de saída, constantes e operadores em PHP (básico)

PHP Orientado a Objetos: Para quem está começando

PRADO - PHP 5 Framework

PHP e suas variáveis (básico)

PHP5 - Criando e utilizando uma classe básica

  
Comentários
[1] Comentário enviado por FMC em 18/04/2006 - 14:32h

Existe algum lugar onde se possa consultar quais widgets existem, quais suas propriedades e eventos?

Valeu pelo artigo, serviu maravilhosamente como introdução!

Flw!

[2] Comentário enviado por pink em 18/04/2006 - 19:00h

Amei seu artigo, já faz parte dos meus favoritos e a linguagem que eu mais gosto é PHP, uso bastante a extensão GTK+ Toolkit que permite construir aplicações GUI client-side com interface orientada a objeto, sendo assim PHP-GTK une o poder e a flexibilidade do PHP com o conjunto de componentes gráficos do GTK, d+ é 10!

[3] Comentário enviado por zendrael em 19/04/2006 - 08:32h

Olá FMC!

Você pode consultar isso no http://gtk.php.net onde tem tudo sobre php-GTK ou no site brasileiro que mudou para http://www.php-gtk.com.br .

E Pink, valeu pelo comentário!

T+

[4] Comentário enviado por pa72 em 27/04/2006 - 09:04h

Artigo excelente!

Precisa de alguma máquina virtual (ou interpretador) nos PC's onde vou correr as aplicações - como o JRE ou interpretador Python?

Obrigado.

[5] Comentário enviado por zendrael em 27/04/2006 - 10:15h

Olá pa72!

Você precisa ter instalado o php-gtk nas máquinas sim, ou seja, o interpretador do php-gtk (tanto em máquinas windows, linux e etc...) e você vai rodar seus programas assim:

c:\phpgtk\php c:\programa.php (no ruindows)
(aqui estou supondo que os caminhos sejam estes)

php programa.php (linux)
(ou pelo caminho do interpretador e caminho do programa)


espero ter ajudado!

T+

[6] Comentário enviado por m4tri_x em 28/12/2006 - 09:13h

vlw mano, vai ser de mta utilidade pra min :D
thanks

[7] Comentário enviado por joaocagnoni em 01/06/2008 - 19:05h

Muito bom o artigo, obrigado!

[8] Comentário enviado por aurelio.silva em 30/06/2008 - 15:26h

Pow Zendrael, posta um artigo para nós com o PHP-GTK + MySQL. Vai ser 100% aproveitado por muitos aqui ;)

[9] Comentário enviado por clickbr em 06/07/2008 - 17:12h

Pra quem usa debian ou similares, aqui tem um script que ajuda a instalar o php-gtk. Eu testei no meu resulinux e o resultado é positivo.

http://forum.imasters.uol.com.br/index.php?showtopic=276277&pid=992953&st=0&#entry992953

[10] Comentário enviado por lukeholm em 16/05/2017 - 09:54h

Excelente artigo introduzindo a funcionalidade do PHP-GTK. A princípio, parece ser algo pra ser usado mais pela pessoa propriamente, como por exemplo ao invés de fazer um script em uma página, fazer usando o gtk e rodar no Gnome. Gostaria de avaliar se daria pra fazer algo "comercial" com isso. Por exemplo: Existiria alguma forma de ocultar o código do aplicativo gerado? Existe alguma forma de fazer o deploy, uma vez que ele depende do php-GTK instalado na máquina destino? Para que ele possa concorrer em algum nível com outras linguagens que possuem capacidade de geração para desktop, seria necessário esse mínimo. Voce saberia dizer algo sobre?

Obrigado

[11] Comentário enviado por Zendrael em 17/05/2017 - 08:55h


[10] Comentário enviado por lukeholm em 16/05/2017 - 09:54h

Excelente artigo introduzindo a funcionalidade do PHP-GTK. A princípio, parece ser algo pra ser usado mais pela pessoa propriamente, como por exemplo ao invés de fazer um script em uma página, fazer usando o gtk e rodar no Gnome. Gostaria de avaliar se daria pra fazer algo "comercial" com isso. Por exemplo: Existiria alguma forma de ocultar o código do aplicativo gerado? Existe alguma forma de fazer o deploy, uma vez que ele depende do php-GTK instalado na máquina destino? Para que ele possa concorrer em algum nível com outras linguagens que possuem capacidade de geração para desktop, seria necessário esse mínimo. Voce saberia dizer algo sobre?

Obrigado


Olá lukeholm!
O PHP-GTK é feito para se construir aplicações desktop, que funcionem inclusive offline. No site oficial do PHP-GTK Brasil há várias matérias de uso e exemplos para a construção de aplicações comerciais. É sim possível empacotar o PHP-GTK e sua aplicação para instalação em um cliente, fazendo o deploy. Quanto a ocultar o código sei que é possível mas já faz algum tempo que não trabalho com a tecnologia para poder indicar uma boa ferramenta para tal...
Fico feliz que tenha gostado do artigo!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts