PHP-GTK

Un article de Wikipédia, l'encyclopédie libre.

PHP-GTK est une extension de PHP qui utilise la Bibliothèque GTK+ pour créer des applications graphiques.

Sommaire

[modifier] Histoire

PHP-GTK a été à l'origine conçu par Andrei Zmievski, qui est également activement impliqué dans le développement de PHP et du moteur de Zend. L'idée a été bien reçue par la communauté PHP, et plusieurs personnes ont commencé à s'impliquer dans le projet. James Moore et Steph Fox furent parmi les premiers à s'y joindre, contribuant beaucoup à PHP-GTK par leurs efforts de documentation. Franc Kromann — lui aussi de l'équipe de développement de PHP — prit en charge la version des binaires du projet spécialement configurée pour Windows.

La première version de PHP-GTK date de mars 2001. Beaucoup de personnes se sont impliquées dans PHP-GTK, et plusieurs extensions ont été créées en introduisant de nouveaux widgets, tels que Scintilla et GtkHTML. PHP-GTK 1.0 date d'octobre 2003 et plusieurs extensions, dont un wrapper pour libglade, ont permis la création de Glade UI, constructeur inter-plateforme d'interfaces utilisé dans la création d'applications avec PHP-GTK.

En février 2008 PHP-GTK2 est sorti donnant accès à de nombreuses nouvelles fonctionnalités : GtkTextView, GtkTreeView en particulier.

[modifier] Utilisation

PHP-GTK nécessite l'installation de la bibliothèque GTK+ ainsi que la version CLI de l'interpréteur PHP. De plus, il est possible grâce à des compilateurs que l'on peut trouver sur internet (payant la plupart du temps) de compiler le code source PHP-GTK et ainsi d'avoir des binaires exécutables (pour l'heure, les compilateurs semblent être compatibles avec GTK 1 seulement).

À noter qu'il est possible d'installer PHP-GTK via une distribution comme Gnope qui fournit tout le nécessaire et un système de packetages, le tout via une installation très simple.

[modifier] Exemple

<?php
function pressed()
{
    echo 'Re coucou - Le bouton a été pressé !';
}
 
$window = new GtkWindow();
$button = new GtkButton('Clickez moi dessus !');
 
$window->set_title('Hello, World!');
$window->connect_simple('destroy', array('Gtk', 'main_quit'));
$button->connect_simple('clicked', 'pressed');
 
$window->add($button);
$window->set_position(Gtk::WIN_POS_CENTER); // place la fenetre au centre de l'ecran
$window->show_all();
 
Gtk::main();
?>

Ce court exemple crée une fenêtre (classe GtkWindow), dont le titre est « Hello World!» et contenant un bouton (GtkButton) intitulé « Clickez moi dessus !. ». Lorsque ce bouton est pressé, le message « Re coucou - Le bouton a été pressé ! » est affiché dans la console, grâce à l'association entre un événement ('clicked') et une fonction (pressed).

[modifier] Liens externes