Hello World!

Hello world - Intro
Hoe orgineel, we gaan een hello world script maken. Echt orgineel :p
En altijd als je een taal leert, begint iedereen met hallo wereld! of hello world!, dus waarom wij niet?

Hebt ervaring
Ik verwacht wel dat je al een redelijke ervaring met ' normaal' php hebt. Dus heb je het niet kan je hier gelijk afkappen en de beginner tutorials gaan volgen ;)

Wat gaan we doen en hoe?
In deze tutorial gaan we een simpele window met de Hallo wereld tekst erin. We gaan gewoon heel rustig door het programma script heenlopen. Geen haast, geen niets. ;)

GTK!
Ook hoe erg PHP-GTK van php verschild, php gtk begint ook met een normale php tag. De volgende code moet in ongeveer iedere beginnende applicatie voorkomen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
/* We kijken of php gtk al geladen is, is dat niet zo, dan doen we dat.
We doen dat met dl('php_gtk.dll'); of dl('php_gtk.so'); wat afhangt of het Linux of Windows is. Gelukkig neemt PHP_SHLIB_SUFFIX dat voor zijn rekening. */


if( !extension_loaded('gtk')) {    
    dl( 'php_gtk.' . PHP_SHLIB_SUFFIX);
}



/* Dit is onze handigmatige destroy() functie */
function delete_event()
{

    return false;
}


//de functie om onze applicatie af
//te sluiten ;)
//aan het einde activeert hij de static (zie: PHP 5) functie "gtk::main_quit()"

function shutdown()
{

    print("Bezig met afsluiten.....\n");
    gtk::main_quit();
}


//Dit zal onze Hallo Wereld printen :)
//we hebben de $window variable nodig
//om ons berichtje aan de wereld te laten zien

function hello()
{

    global $window;
    print "Heeey, wereld!\n";
    $window->destroy();
}

?>



Met de volgende code maken wij een scherm aan, een window dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
//window object
$window = &new GtkWindow();
//functies koppelen aan de onze,
//kan je later nog echt mee te maken krijgen!

$window->connect('destroy', 'shutdown'); //onze functie shutdown() wordt gekoppeld aan de destroy even
$window->connect('delete-event', 'delete_event'); //tsja :p

//de dikte van de border van de window

$window->set_border_width(10); //10 is in pixels
?>


Wij willen een knop hebben, en als wij er op klikken krijgen wij, jawel, Hallo wereld!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
//button object creeeren
$button = &new GtkButton('Begroet de wereld');

//bij het event 'clicked', zal hij de functie 'hello' aanroepen
$button->connect('clicked', 'hello');

//onze button in het scherm plaatsen
$window->add($button);
?>


Allemaal heel leuk. Maar we zien niks, omdat we alles nog aan de user moeten laten zien!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
//outputten
$window->show_all();

//main functie van gta libary
//wij laten nu aan de gtk weten dat we klaar zijn
//met de interface, en dat php gtk kan gaan 'luisteren'
//wat de user doet, dus bijv op een button klikken

gtk::main();
?>



De totale code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
/* We kijken of php gtk al geladen is, is dat niet zo, dan doen we dat.
We doen dat met dl('php_gtk.dll'); of dl('php_gtk.so'); wat afhangt of het Linux of Windows is. Gelukkig neemt PHP_SHLIB_SUFFIX dat voor zijn rekening. */


if( !extension_loaded('gtk')) {    
    dl( 'php_gtk.' . PHP_SHLIB_SUFFIX);
}



/* Dit is onze handigmatige destroy() functie */
function delete_event()
{

    return false;
}


//de functie om onze applicatie af
//te sluiten ;)
//aan het einde activeert hij de static (zie: PHP 5) functie "gtk::main_quit()"

function shutdown()
{

    print("Bezig met afsluiten.....\n");
    gtk::main_quit();
}


//Dit zal onze Hallo Wereld printen :)
//we hebben de $window variable nodig
//om ons berichtje aan de wereld te laten zien

function hello()
{

    global $window;
    print "Heeey, wereld!\n";
    $window->destroy();
}


//window object
$window = &new GtkWindow();
//functies koppelen aan de onze,
//kan je later nog echt mee te maken krijgen!

$window->connect('destroy', 'shutdown'); //onze functie shutdown() wordt gekoppeld aan de destroy even
$window->connect('delete-event', 'delete_event'); //tsja :p

//de dikte van de border van de window

$window->set_border_width(10); //10 is in pixels

//button object creeeren

$button = &new GtkButton('Begroet de wereld');

//bij het event 'clicked', zal hij de functie 'hello' aanroepen
$button->connect('clicked', 'hello');

//onze button in het scherm plaatsen
$window->add($button);

//outputten
$window->show_all();

//main functie van gta libary
//wij laten nu aan de gtk weten dat we klaar zijn
//met de interface, en dat php gtk kan gaan 'luisteren'
//wat de user doet, dus bijv op een button klikken

gtk::main();
?>


Zo, je eerste applicatie is af!
Welkom in de wereld van PHP-GTK!

TIP: Probeer eens in je GTK test map gtk.php door te lezeb en uit te voeren. Dan zie je wat er zo'n beetje allemaal mogelijk id met PHP GTK.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Voorwoord en Intro
  2. Hello World!

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.