PHP-GTK ist eine Sammlung von Sprachbindungen für die Programmiersprache PHP , die es ermöglicht, GTK- Anwendungen mit grafischer Benutzeroberfläche (GUI) in PHP zu schreiben. PHP-GTK bietet eine objektorientierte Programmierschnittstelle für GTK-Klassen und -Funktionen. PHP-GTK unterstützt GTK2 teilweise, GTK3 wird jedoch nicht unterstützt. [ 1 ]

Geschichte

PHP-GTK wurde ursprünglich von Andrei Zmievski konzipiert, der auch aktiv an der Entwicklung von PHP und der Zend Engine beteiligt ist . Die Idee fand großen Anklang in der PHP-Community, und immer mehr Menschen schlossen sich dem Projekt an. James Moore und Steph Fox gehörten zu den ersten, die sich beteiligten und durch ihre Dokumentationsarbeit maßgeblich zu PHP-GTK beitrugen. Frank Kromann, ebenfalls aus dem PHP-Entwicklungsteam, stellte Windows- Binärdateien für das Projekt bereit.

Die erste Version von PHP-GTK erschien im März 2001. Immer mehr Entwickler beteiligten sich, und es wurden mehrere Erweiterungen beigesteuert, die neue GUI-Widgets wie Scintilla und GtkHTML einführten . PHP-GTK 1.0 wurde im Oktober 2003 zusammen mit verschiedenen Erweiterungen veröffentlicht, darunter ein Wrapper für libglade, der die Verwendung des plattformübergreifenden UI-Builders Glade Interface Designer für die Erstellung von PHP-GTK-Anwendungen ermöglichte.

Zmievski und Fox arbeiteten weiterhin an dem Projekt, wobei Fox die PHP-GTK-Version für Windows pflegte.

Im Jahr 2008 wurde PHP-GTK 2.0.0 veröffentlicht, um die leistungsstarke Objektmodellunterstützung von PHP 5.2 voll auszuschöpfen und die verbesserte Portabilität von GTK 2.6 sowie dessen neue Widgets zu integrieren. Das Projekt unterstützt außerdem GtkSourceView , ein Widget zum Bearbeiten von Quellcode . Etwa die Hälfte der Klassen ist vollständig dokumentiert. Scott Mattocks, Mitglied der PHP-GTK-Dokumentationsgruppe, hat zudem ein Buch zum Thema PHP-GTK-Programmierung verfasst. [ 2 ]

Im Jahr 2015 wurde PHP-GTK 2.0.1 veröffentlicht, um Kompatibilität mit PHP 5.5 und GTK 2.24 zu gewährleisten. [ 3 ]

Das Projekt ist nur mit GTK 2 kompatibel, nicht mit Version 3.

WxPHP ( WxWidgets für PHP) existiert als Alternative zur Entwicklung von GTK-PHP-Anwendungen.

Beispiel

Hallo Welt PHP-GTK
Hallo Welt PHP-GTK
<?phpfunction pressed () { echo "Hallo nochmal - Der Knopf wurde gedrückt! \n " ; }$window = new GtkWindow (); $button = new GtkButton ( 'Klicken' ); $button1 = new GtkButton ( 'Klicken' );$window- > set_title ( 'Hallo Welt!' ); $window- > connect_simple ( 'destroy' , array ( 'Gtk' , 'main_quit' )); $button- > connect_simple ( 'clicked' , 'pressed' ); $button1- > connect_simple ( 'clicked' , 'pressed' ); $window- > add ( $button ); $window- > show_all ();Gtk :: main ();

Das Beispielprogramm PHP-GTK 2 instanziiert ein GtkWindowWidget mit dem Titel „Hello World!“, das ein mit „Click Me“ beschriftetes Element enthält . Wenn auf den Button gedrückt wird, wird über den CallbackGtkButton die Meldung „Hello again - The button was pressed!“ auf der Konsole angezeigt . pressed

Einsatz

Es sind verschiedene Tools entstanden, die die einfache Bereitstellung von PHP-GTK-Anwendungen erleichtern. PHP-Compiler wie PriadoBlender und Roadsend PHP (derzeit nur mit PHP-GTK 1 kompatibel, der neueste Snapshot enthält jedoch PHP-GTK 2) ermöglichen das Kompilieren von in PHP-GTK geschriebenen Anwendungen zu einer eigenständigen ausführbaren Binärdatei. Das PHP Extension and Application Repository ( PEAR )-Paket bcompiler von Alan Knowles ermöglicht ebenfalls das Kompilieren von PHP in Bytecode, um den Quellcode zu verbergen.

Siehe auch

Referenzen

  1. ^ „Sprachbindungen“ . Archiviert vom Original am 13.07.2011 . Abgerufen am 28.01.2015 .
  2. ^ Mattocks, Scott (18. April 2006). Pro PHP-GTK . Apress. ISBN 1-59059-613-7Die
  3. ^ "Downloads?" . Abgerufen am 08.01.2024 .