Eu vou assumir que você já seja acostumado a programação orientada a objetos. Se você não for, eu sugiro que você se acostume com ela antes de continuar com este tutorial. Você pode também olhar o manual do PHP na seção sobre orientação a objetos para o PHP5, assim tudo isto fará mais censo para você
Nós vamos começar em "portar" o programa simples Alô Mundo! para uma natureza orientada a objetos, assim você pode ter uma amostra do conceito rapidamente. A primeira coisa que você tem que fazer é criar uma classe. A maneira mais fácil de fazer a sua classe é extender umas das classes do PHP-GTK 2. Agora, a maioria das aplicações tem um GtkWindow como seu widget principal. Assim faz o nosso programa Alô Mundo. Assim o que nós vamos fazer é criar uma classe que extenda GtkWindow, assim fará o nosso trabalho mais fácil:
<?php class Hello extends GtkWindow { // o código vai aqui. } ?> |
Agora a nossa classe extende GtkWindow, mas isso não quer disser que o construtor GtkWindow será chamado automaticamente. Este é o funcionamento padrão no PHP5 e assim nós devemos chamar o construtor de GtkWindow explicitamente, usando a palavra chave parent:
class Hello extends GtkWindow { function __construct() { parent::__construct(); } } |
function __construct() { parent::__construct(); $this->set_title('Alô Mundo!'); $this->connect_simple('destroy', array('gtk', 'main_quit')); } |
Já que este é um programa muito simples, nós podemos finalizar as nossas tarefas no construtor em sÃ. Nós simplesmente colocamos o código que nós tinhamos colocado em nosso programa orientado a procedimentos aqui. Assim nós temos o programa terminado:
Exemplo 8.1. Alô Mundo - Estilo Orientado a Objetos
<?php class Hello extends GtkWindow { function __construct() { parent::__construct(); $this->set_title('Hello World'); $this->connect_simple('destroy', array('gtk', 'main_quit')); $label = new GtkLabel("Just wanted to say\r\n'Hello World!'"); $this->add($label); $this->show_all(); } } new Hello(); Gtk::main(); ?> |