Il linguaggio di PHPTal

di: Gabriele Farina     18 Gennaio 2007

La scorsa settimana abbiamo visto come si presenta PHPTal, e come risulti semplice e veloce sviluppare dei template con questa implementazione di ZPT (Zope Page Template in PHP). Oggi ci addentreremo più in dettaglio nell'analisi del linguaggio TAL e di come, in cooperazione con le sue estensioni, permetta un'enorme libertà nello sviluppo dei propri template.

PHPTales - I

Per prima cosa è opportuno trattare l'estensione PHPTales che permette di definire espressioni complesse come valore degli attributi TAL o di qualunque altro attributo supportato da PHPTal. Un attributo può contenere più di un'espressione; in quel caso è necessario suddividere ognuna delle espressioni utilizzando un punto e virgola.

path:

All'interno delle espressioni sono accessibili i valori assegnati al template engine utilizzando direttamente l'identificatore utilizzato in fase di assegnazione nel codice PHP; per poter accedere ad eventuali attributi (nel caso il valore sia un oggetto) o a specifici elementi dell'array (nel caso il valore sia un array associativo) è possibile utilizzare il backslash come se si stesse scrivendo un'espressione XPath. Questo comportamento è dato dall'operatore path: che viene utilizzato di default nel caso in cui non sia specificato nessun altro. Per comodità è possibile includere le espressioni path anche direttamente all'interno del testo HTML utilizzando l'operatore ${ ... }.

Le seguenti espressioni danno tutte lo stesso risultato:

<span tal:content="data/user/name"/>
<span tal:content="path:data/user/name"/>
<span>${data/user/name}</span>

Operatori condizionali

All'interno del tag tal:condition (che vedremo successivamente) è spesso necessario utilizzare degli operatori di comparazione. Dato che i caratteri < e > non sono accettati da XML all'interno dei valori degli attributi, Tales definisce delle alternative per gli operatori che comprendono questi caratteri. LT corrisponde a <, LE a <=, GT a > e GE a >=.

string:

Serve per specificare che l'espressione indicata è espressamente una stringa (bisogna ricordarsi che $ va sostituito con $$ e ; con ;;) e che quindi non andrà valutata utilizzando path come operatore di default. Qualche esempio:

<span tal:replace="string:A quanto ammonta il dollaro ($$) ?"/>
<span tal:replace="string:Benvenuto $username !"/>
<span tal:replace="string:Il valore di $$username è $username !"/>

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