13 mar
PRADO sta per Php Rapid Application Development Object-oriented e, come dice l’acronimo, è un ambiente di programmazione per PHP5 basato sull’uso dei componenti e sulla logica ad aventi applicata agli oggetti.
PRADO è stato recentemente realizzato da un piccolo team di sviluppo diretto da Qiang Xue, un dottorando di informatica della Duke University ed ha appena stravinto lo ZEND PHP5 Coding Contest, la competizione per il miglior software scritto in PHP organizzata da Zend la società israeliana che mantiene il progetto Open Source di PHP e che ne sfrutta le applicazioni commerciali.
Costruire un’applicazione web con PRADO significa essenzialmente instanziare dei tipi di componenti predefiniti, configurarli settando alcune delle loro proprietà ed assegnare i comportamenti da eseguire in risposta ad alcuni eventi.
Per intenderci, la logica di funzionamento è del tutto simile ad alcuni ambienti di sviluppo visuali (RAD) come Delphi, Visual Basic e JavaBuilder. Come è noto, però, i tre esempi appena citati si riferiscono a linguaggi compilati per la creazione di eseguibili. L’assoluta novità di PRADO consiste nell’aver trasferito la filosofia dei linguaggi component-based ed event-driven ad un linguaggio interpretato e lato server quale è, appunto, il PHP.
Intendiamoci: non c’è nulla in PRADO che non sia possibile fare usando soltanto il PHP. Il valore aggiunto di PRADO risiede in ben altre caratteristiche: nell’estrema semplicità, robustezza e versatilità d’uso per cominciare ma, soprattutto, nella riusabilità del codice, che permette la realizzazione di nuove applicazioni web a partire da implementazioni precedenti con uno sforzo davvero minimo.
Seguendo le indicazioni riportate sul sito www.xisc.com del team di sviluppo, proviamo a fare un piccolo esempio per descrivere la flessibilità e la potenza di PRADO.
Supponiamo di voler creare un classico modulo per un pagina di login per l’accesso ad un’area riservata come quello riportato in figura.

Cominceremo con il definire un modulo come istanza del componente TForm ed al suo interno useremo due componenti TTextBox per le caselle di testo dedicate all’inserimento dell’username e della password e un componente TButton per il bottone di invio.
Per configurare adeguatamente questi componenti, assegniamo il valore Username alla proprietà ID del componente TTextBox destinato a raccogliere il nome utente, diamo il valore Password alla proprietà ID ed il valore Password alla proprietà TextMode del componente TTextBox destinato a raccogliere la password, quindi colleghiamo una funzione loginClicked all’evento OnClick del bottone di invio.
Così, a parte qualche trascurabile abbellimento – ad esempio per racchiudere il modulo in un riquadro con titolo e per stampare anche delle etichette esplicative per le due caselle di testo – la descrizione del nostro modulo in PRADO si concretizza nella scrittura di un template, cioè di un file HTML avente estensione .tpl in cui i vari componenti vengono richiamati con degli speciali tag < com: > e che nel nostro caso è il seguente:

Questo è sufficiente per creare un completo modulo di login. I due componenti TTextBox si faranno carico di raccogliere il testo necessario nella maniera appropriata (ad esempio quello relativo alla password nasconderà il testo digitato per via della proprietà TextMode settata col valore Password) ed il componente TButton invocherà la nostra funzione loginClicked alla pressione del bottone di invio del modulo.
Tale funzione andrà definita in una opportuna sottoclasse PHP, LoginPage ereditata della classe TPage ed in essa toccherà a noi specificare cosa concretamente accadrà al momento dell’invio del modulo. Banalmente, in tale funzione, la nostra prima preoccupazione sarà quella di prelevare i dati forniti dai due componenti TTextBox utilizzando il metodo Text ed immagazzinarli in due variabili, ad esempio per poterli confrontare con i risultati di una query su un database.
La classe in questione avrà quindi una forma del tipo:

Come si vede, questa tecnica di programmazione è molto differente da quella classica del PHP puro e semplice, in cui lo sviluppatore deve farsi carico di molti dettagli operativi quali la preparazione dei tag HTML più appropriati per la definizione delle caselle di testo, l’indicazione dell’URL a cui inviare i dati del modulo, la validazione dei dati prima dell’invio (tipicamente eseguita con funzioni JavaScript), la lettura dei dati forniti, ecc.
In sostanza, PRADO libera il programmatore da tutte queste operazioni di routine, che peraltro sono spesso fonte di errori, e gli permette di concentrarsi sulla funzionalità delle pagine semplicemente scrivendo un template in un HTML arricchito di qualche tag ed una classe in PHP.
Ovviamente questa sintetica introduzione sfiora appena le peculiarità del prodotto e ci sarebbe ancora molto da dire, ad esempio su come definire le proprietà dei componenti per mezzo di un file di specificazione XML o su come generare dinamicamente dei nuovi componenti.
Pertanto, rimandiamo le persone interessate (o semplicemente incuriosite) al sito www.xisc.com del progetto PRADO dove, oltre a scaricare il codice sorgente, è possibile trovare ulteriori descrizioni, guide e persino esempi in linea.
In conclusione, PRADO ci piace veramente. È un prodotto ben fatto, creato da sviluppatori per altri sviluppatori, che sarà estremamente vantaggioso usare nella progettazione di complesse applicazioni web e che – per il momento – ha il solo difetto di girare esclusivamente su PHP5, una piattaforma attualmente davvero poco diffusa nell’hosting commerciale.
da equal.it
CSS hacker invito Lockerz windows
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
Leave a reply
You must be logged in to post a comment.