PHP-GTK

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
PHP-GTK
software
Logo
PHP-GTK Logo
GenereBinding (non in lista)
SviluppatoreAndrei Zmievski
Ultima versione2.0.1 (16 maggio 2008)
Sistema operativoMultipiattaforma
LinguaggioPHP
LicenzaGNU Lesser General Public License
(licenza libera)
Sito web

PHP-GTK è un insieme di language binding per PHP che permette ad applicazioni GTK+ GUI di essere scritte in PHP. PHP-GTK fornisce una interfaccia object-oriented alle classi e funzioni GTK+.

Storia[modifica | modifica wikitesto]

PHP-GTK è stato originariamente concepito da Andrei Zmievski, il quale è attivo anche nello sviluppo di PHP e dello Zend Engine. L'idea è stata ben accolta dalla comunità PHP, e, in seguito, molte altre persone sono state coinvolte nel progetto. James Moore e Steph Fox sono stati i primi a partecipare, contribuendo alla loro cura della documentazione, e successivamente Frank Kromann (già presente nel team di sviluppo di PHP) il quale ha reso disponibili i file binari per Microsoft Windows.

La prima versione di PHP-GTK è stata distribuita nel marzo 2001. Da allora molti hanno preso parte al progetto, e molte estensioni sono state aggiunte introducendo i nuovi widget, come ad esempio Scintilla e GtkHTML. PHP-GTK 1.0 è stato lanciato nell'ottobre 2003 insieme a numerose estensioni, che includono un wrapper per libglade, che ha permesso all'UI builder cross-platform Glade di essere utilizzato per la creazione di applicazioni PHP_GTK.

Il presente[modifica | modifica wikitesto]

PHP-GTK è stato adottato velocemente dalla comunità PHP. Sono state sviluppate molte applicazioni, ed è anche nato un piccolo job market. Zmievski e Fox stanno ancora lavorando al progetto, con Fox ora addetto al mantenimento di PHP-GTK per windows.

Lo sviluppo è a pieno regime per la prossima major version di PHP-GTK. PHP-GTK 2 utilizza appieno il potente supporto agli oggetti di PHP 5, e introduce la migliorata portabilità di GTK 2.6, così come il suo nuovo insieme di widget. Il progetto comprende anche qualche nuova estensione, come GtkSourceView, che fornisce una ricca fonte di widget di editing, insieme a qualcuno dei vecchi preferiti.

La documentazione per PHP-GTK 2 si sta completando velocemenente. Molti articoli e tutorial sono stati scritti sull'argomento, e circa metà classi sono state pienamente documentate. Scott Mattocks, un membro attivo del gruppo di documentazione di PHP-GTK, ha scritto anche un libro sulla programmazione PHP-GTK.[1]

Esempio[modifica | modifica wikitesto]

<?php

function pressed()
{
    echo "Hello again - The button was pressed!\n";
}

$window = new GtkWindow();
$button = new GtkButton('Click Me');

$window->set_title('Hello World!');
$window->connect_simple('destroy', array('Gtk', 'main_quit'));
$button->connect_simple('clicked', 'pressed');

$window->add($button);
$window->show_all();

Gtk::main();

?>

Il programma di esempio instanzia uno widget GtkWindow con il titolo "Hello World!", che contiene un GtkButton etichettato con "Click Me.". Quando il bottone viene premuto, viene visualizzato, sulla console, il messaggio "Hello again - The button was pressed!" tramite la callback pressed.

Sviluppo[modifica | modifica wikitesto]

Sono nati molti strumenti che semplificano lo sviluppo di applicazioni PHP-GTK. Compilatori PHP come PriadoBlender e Roadsend PHP (Attualmente compatibile solo con PHP-GTK 1) permettono la compilazione di applicazioni scritte in PHP-GTK in un binario eseguibile standalone. Il pacchetto di Alan Knowles PECL, bcompiler, permette anche la compilazione di PHP all'interno del bytecode per proteggere il sorgente.

Gnope Archiviato il 9 aprile 2010 in Internet Archive. è uno strumento che fornisce una semplice interpretazione sotto Windows. Permette l'installazione trasparente di PHP-GTK 2, e applicazioni scritte usando esso, attraverso il canale compatibile di Gnope PEAR.

Note[modifica | modifica wikitesto]

  1. ^ Scott Mattocks, Pro PHP-GTK, ISBN 1-59059-613-7.

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica