PHP-GTK
Écrit en | PHP |
---|---|
Type |
Binding Bibliothèque de liaison vers GTK+ (d) Bibliothèque logicielle Widget toolkit |
Licence | Licence publique générale limitée GNU |
Site web | gtk.php.net |
PHP-GTK est une extension libre de PHP qui utilise la bibliothèque GTK+ pour créer des applications graphiques.
Elle est distribuée selon les termes de la licence publique générale limitée GNU.
Histoire
[modifier | modifier le code]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 . 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' 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 PHP-GTK2 est sorti donnant accès à de nombreuses nouvelles fonctionnalités : GtkTextView, GtkTreeView en particulier.
Utilisation
[modifier | modifier le code]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 (en 2008, les compilateurs semblent être compatibles avec GTK 1 seulement).
Il est possible d'installer PHP-GTK via une distribution comme Gnope qui fournit tout le nécessaire et un système de packetages.
Exemple
[modifier | modifier le code]<?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
).