PHP-GTK — Wikipédia
É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
).