PHP-GTK
# PHP-GTK

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

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.

## 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 (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

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).

