Stefano Bernardoni
a- a+

Elaborazione condizionale

Coldfusion mette a disposizione alcuni tag perl’implementazione dell’elaborazione condizionale.

Il più comune tra questi è sicuramente<CFIF>/<CFELSE>, questo tag non fa altro cheverificare se una espressione è vera o falsa, maanalizziamo la sintassi:

<CFIF ‘espressione’>   codice se l’espressione è verificata</CFIF>

Il valore dell’ ‘espressione’ assume unvalore vero o falso e solitamente utilizza un’operatorediverso dai simboli standard come = <>.


Questi sono alcuni degli operatori utilizzati:

operatorecoldfusion                        simbolocorrispondente
IS,EQ                                                             =
IS NOT,NEQ                                                <>
GT, GREATERTHEN                                   >
LT, LESSTHEN                                            <
GTE, GREATER THEN OREQUAL              >=
LTE, LESS THEN OREQUAL                      <=

Esempio: <CFIF miaVar EQ 20>

L’inserimento del tag <CFELSE> comportal’esecuzione del codice che lo segue nel casol’espressione risultasse non verificata:

<CFIF ‘espressione’>   codice se l’espressione è verificata<CFELSE>   codice se l’espressione non è verificata</CFIF>

Per specificare condizioni multiple si utilizza il tag<CFELSEIF>:

<CFIF ‘espressione1’> codice se l’espressione1 è verificata<CFELSEIF ‘espressione2’>codice se l’espressione2 è verificata<CFELSE>     codice se le espressioni 1 e 2 non sono verificate</CFIF>

All’interno di un <CFIF> o di un <CFELSEIF>possiamo naturalmente utilizzare gli operatori logici comeAND OR NOT:

<CFIF miaVar eq 20 AND miaVar2 neq 15>

In quest’ultimo caso se la prima condizione nonè verificata, quindi con un valore FALSE, Coldfusionnon effettua la verifica della seconda in quanto, utilizzandol’operatore AND, in ogni caso si avrà sempre unrisultato FALSE.

Quindi Coldfusion verifica le condizione fintanto checiò risulti necessario.

Per verificare l’esistenza di una variabile possoutilizzare la funzione IsDefined() con questa sintassi:

<CFIF IsDefined("miaVar")>codice eseguito se la variabile miaVar esiste</CFIF>

Il tag <CFIF> è nidificabile.

Nel caso di diverse condizioni da verificare risultapiù conveniente e performante utilizzare il tag<CFSWITCH></CFSWITCH>, le condizioni vengonoinserite tra il tag di apertura e di chiusuraall’interno del tag <CFCASE>:

<CFSWITCH EXPRESSION="espressione">   < CFCASE VALUE="valore"> codice se l’espressione è uguale a "value"   < /CFCASE>   < CFCASE VALUE="valore1"> codice se l’espressione è uguale a "value1"   </CFCASE>   < CFDEFAULTCASE>codice se nessun valore è stato verificato   < /CFDEFAULTCASE></CFSWITCH>

Sia <CFELSE> che <CFDEFAULTCASE> sonofacoltativi.

All’interno di VALUE posso inserire anche una serie divalori separati da virgola o dal carattere specificatonell’attributo DELIMITERS all’interno del tag<CFCASE>, lista che Coldfusion analizzerà valoreper valore.

<CFCASE VALUE= "1-2-3-4" DELIMITERS = "-">   codice</CFCASE>

Anche il tag <CFSWITCH> è nidificabile.

Nel tag <CFCASE> è possibile utilizzare solol’operatore di uguaglianza.

E’ buona norma, sia in <CFIF> che in<CFSWITCH>, inserire all’inizio i casi piùfrequenti per ottenere una migliore performance.