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();
?>
|