PHP  »  Articoli  »  Programmazione Php 

Applicazioni desktop con PHP: un'introduzione

di: Claudio Garau     24 Luglio 2008

Il secondo passaggio affrontato è stato quello di richiamare la classe necessaria alla generazione della finestra e del metodo che ci ha consentito di dare ad essa un titolo:

$finestra = new GtkWindow();
$finestra->set_title('Finestra generata con PHP-GTK');

GtkWindow infatti non è altro che un widget con il compito di fornire una finestra ad un'applicazione, queste finestre potranno essere di tre tipi diversi: toplevel, finestra di dialogo o pop-up; set_title() è invece un metodo che appartiene alla classe GtkWindow() e permette di associare un titolo alla finestra generata.

Una volta esaurito il secondo passaggio quello successivo ci ha permesso di mettere a disposizione dell'utilizzatore un sistema per chiudere la finestra generata dall'applicazione:

$finestra->connect_simple('destroy', array('gtk', 'main_quit'));

Grazie a questa stringa di codice sarà possibile produrre inoltre un effetto di terminazione in grado di liberare le risorse precedentemente occupate dal programma, quindi non verrà chiusa soltanto la finestra ma anche l'esecuzione dell'applicazione; connect_simple() è una funzione che accetta come parametri un "segnale" ("destroy") diretto verso il metodo gtk::main_quit() che ha appunto il compito di consentire l'uscita dal programma in modo pulito, cioè rilasciando le risorse impegnate.

GtkLabel() è invece una classe il cui scopo è quello di essere associata ad una piccola porzione di testo, nel nostro caso l'abbiamo utilizzata per dare un titolo alla nostra finestra:

$text = new GtkLabel("Ciao Mondo!");
$finestra->add($text);

GtkLabel() non è adatta, o meglio non è stata concepita, per gestire testi di grandi dimensioni, per questo scopo è stata messa a disposizione infatti un'apposita classe denominata GtkText(); add() è invece il metodo con cui il testo appena creato può essere aggiunto alla finestra.

Infine, siamo passati alla parte relativa alla visualizzazione dell'output che è presieduta dalla chiamata al metodo show_all() specifico per mostrare a video gli oggetti creati tramite GTK; di particolare importanza è il riferimento (Gtk::main();) posto alla fine del listato: si tratta di una chiamata alla classe principale dell'applicazione che presiede al funzionamento di quest'ultima, main() infatti svolge la funzione di mantenere il programma sempre attivo creando un loop che potrà essere arrestato soltanto dall'utilizzatore.

Quando utilizziamo uno script lato server questo è inizialmente inattivo, si attiva sulla base dei parametri di input per poi tornare inattivo una volta soddisfatta una richiesta; grazie a main() è invece possibile mantenere in attesa un'applicazione funzionante, il loop provvederà infatti a mantenerla attiva fino a quando questa non verrà terminata.

Conclusioni

In questa breve trattazione abbiamo affrontato l'argomento relativo alla creazione di Desktop application utilizzando PHP-GTK, un'estensione appositamente concepita per la realizzazione di applicazioni dotate di interfaccia grafica.

Sono state esposte le differenze tra Desktop development e sviluppo di applicazioni Web based tradizionali elencando tutti i vantaggi derivanti da questo approccio alternativo; infine, è stato proposto un semplice esempio relativo alla creazione di una applicazione minimale basata su PHP-GTK.

Per eventuali approfondimenti consigliamo la consultazione della documentazione ufficiale di PHP-GTK o gli articoli scritti su PHP di HTML.it.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti