IsDefined() e ParameterExists(): differenze ed utilizzo


Premettiamo che la funzione ParameterExists viene sconsigliata dalla versione 4.0 di ColdFusion; attualmente è ancora contemplata nel linguaggio, sebbene possa causare errori.

Entrambe le funzioni ParameterExists ed IsDefined servono a determinare l’esistenza di una variabile (o di una struttura). La sintassi √® simile, fatto che comporta errori banali ma non immediatamente evidenti; sia ParameterExists(variabile), che IsDefined(“variabile”) restituiscono “True” se la variabile specificata esiste, “False” in caso contrario.

La differenza sostanziale √® che mentre IsDefined determina l’esistenza della variabile valutandone il contenuto, ParameterExists non effettua questo controllo; da cui la necessit√† di racchiudere tra doppi apici il nome della variabile nella sintassi di IsDefined.

Attenzione, si può utilizzare IsDefined senza doppi apici: in questo caso verrà restituito un errore nel caso in cui la variabile specificata non esista.

L’utilizzo tipico di queste funzioni √® con form o parametri passati da un programma ad un altro.

¬†¬† <cfif IsDefined(“form.colore”)>
¬†¬†¬†¬† <!— istruzioni da eseguire nel caso in cui esista la variabile form.colore —>
   <cfelse>
¬†¬†¬†¬† …
   </cfif>

In questo modo √® ad esempio possibile usare due form diverse che eseguano uno stesso programma, senza dover definire le variabili hidden mancanti da una form rispetto l’altra.

IsDefined() e ParameterExists(): differenze ed utilizzo ultima modifica: 2006-04-20T00:00:00+00:00 da Enrico

Related Posts

Comments are closed.