Wenn man eine Programmiersprache zu lernen beginnt ist oft das erste Programm das man schreibt ein "Hallo Welt" Programm. Um sich also allen anderen anzupassen, ist die erste Übung in diesem Handbuch eine Hallo Welt Übung!
Als Voraussetzung für die Übungen sollte man bereits angemessene Kenntnisse von PHP selbst haben. Die Übungen sollen dazu dienen dem Benutzer zu veranschaulichen wie man dann PHP-GTK benutzen kann und die dahinterstehenden Grundlagen und Techniken und zu vermitteln.
In dieser Üung werden wir ein einfaches Fenster mit dem Text "Hallo Welt" erstellen, dies wird Ihnen einen Überblick einer grundlegenden PHP-GTK Anwendung geben.
Wir werden zunächst das Programm auflisten und es dann Zeile für Zeile erklären.
Beispiel 1.1. PHP-GTK Hallo Welt Programm Listing
<?php
if (!class_exists('gtk')) {
if (strtoupper(substr(PHP_OS, 0,3) == 'WIN'))
dl('php_gtk.dll');
else
dl('php_gtk.so');
}
function delete_event()
{
return false;
}
function shutdown()
{
print("Shutting down");
gtk::main_quit();
}
function hello()
{
global $window;
print "Hello World";
$window->destroy();
}
$window = &new GtkWindow();
$window->connect('destroy', 'shutdown');
$window->connect('delete-event', 'delete_event');
$window->set_border_width(10);
$button = &new GtkButton('Hello World!');
$button->connect('clicked', 'hello');
$window->add($button);
$window->show_all();
gtk::main();
?>
|
<?php
if(!class_exists('gtk')){
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')
dl('php_gtk.dll');
else
dl('php_gtk.so');
}
?>
|
Die delete_event() Funktion ist als Handler (siehe unten) für das "delete-event" Signal registriert. Sie gibt false zurück um PHP-GTK zu sagen dass es mit dem Erscheinen des Events weitermachen soll. Wenn die Funktion true zurückgeben würde, würde PHP-GTK mit der Ereignisbehandlung hier aufhören.
Beispiel 1.4. Die shutdown() Funktion
<?php
function shutdown()
{
print("Herunterfahren");
gtk::main_quit();
}
?>
|
Beispiel 1.5. Die hello() Funktion
<?php
function hello()
{
global $window;
print "Hallo Welt!";
$window->destroy();
}
?>
|
Beispiel 1.6. Das Fenster aufbauen
<?php
$window = &new GtkWindow;
$window->connect('destroy', 'shutdown');
$window->connect('delete-event', 'delete_event');
$window->set_border_width(10);
?>
|
Diese drei Zeilen des Scriptes rufen die Funktion gtk::main auf, diese weist PHP-GTK an das Fenster das wir erstellt haben anzuzeigen und auf Benutzereingaben zu warten um Ereignisse zu starten so dass die Callback Funktionen die wir zuvor definiert haben aufgerufen werden und die verschiedenen Aktionen ausgeführt.