Christian Castelli
a- a+

Controlli di flusso

Redirezionamento attraverso <cflocation>

Il tag <cflocation> viene usato per rimandarel'utente su una pagina differente. Viene usatocomunemente quando una pagina è stata spostata oppurequando un utente non ha i privilegi necessari per vedere lapagina richiesta. Un esempio di utilizzo è visibilenel codice sottostante:

<cflocation url="https://www.webmasterpoint.org">

isDefined() e <cfparam>

ColdFusion restituisce un errore quando gli si viene chiestodi valutare una variabile non inizializzata. In certi casi,vorrete controllare se una variabile è stata definitaprima di utilizzarla. E' possibile usare in tal caso lafunzione isDefined():

<cfif isDefined("Form.firstname")>   <cfoutput>Hello, #Form.firstname#!</cfoutput><cfelse>   Hello, stranger!</cfif>

In altri casi, vorrete settare un valore di default per lavariabile in caso venga utilizzata prima di esserinizializzata. Si userà in questo caso<cfparam>:

<cfparam name="Form.firstname" default="stranger">  <cfoutput>Hello, #Form.firstname#!</cfoutput>

Nel esempio qui sopra, se Form.firstnameè stata definita prima che il tag<cfparam> venga raggiunto, allora il tag<cfparam> verrà ignorato, in casocontrario verrà assegnato alla variabile il valore didefault stranger.

Cicli

I cicli vengono usati per iterare blocchi di codice. Laseguente sezione mostra la sintassi per alcuni tipidifferenti di cicli.

Un ciclo indice si comporta come un ciclofor per altri linguaggi. Esegue dei passi attraverso unprocesso basato su un certo tipo di conteggio:

<cfloop index="count" from="1" to="5" step="2">   <cfoutput>#count#</cfoutput></cfloop>

Il codice soprastante produrrà in output 1 3 5.

Un ciclo condizionale è come un ciclowhile in altri linguaggi. Continua ad iterare attraverso unprocesso fintanto che una specifica condizione continua adesser vera:

<cfset count=1>  <cfloop condition="count LTE 5">   <cfoutput>#count#</cfoutput>   <cfset count = count + 2>  </cfloop>

Il codice soprastante produrrà in output sempre 1 3 5.

Le liste sono semplici stringhe delimitateda uno specifico carattere o da un set di caratteri. Didefault, il delimitatore è la virgola. ColdFusionpossiede molte funzioni per gestire le liste.
<cfloop> può essere usato perscorrere una lista, eseguendo qualche funzione su ciascunelemento della lista:

<cfset numlist="1,2,3,4,5">  <cfloop index="num" list="#numlist#">   <cfoutput>#num#</cfoutput>  </cfloop>    <cfset beatles="paul john ringo george">  <ul>  <cfloop index="beatle" list="#beatles#" delimiters=" ">   <li><cfoutput>#beatle#</cfoutput></li>  </cfloop>  </ul>

Il primo ciclo produrrà in output 1 2 3 4 5, ilsecondo una lista non ordinata dei nomi dei Beatles.

<cfloop> può essere usato anche periterare altri tipi di dati, includendo query e strutture.Alcuni di questi usi avanzati di <cfloop> verrannotrattati in altre lezioni di questo corso.

Il tag <cfbreak> viene usato perinterrompere i cicli prima che abbiano finito la loro normaleprocessazione. La sintassi è la seguente:

<cfloop index="count" from="1" to="5" step="1">   <cfoutput>#count#</cfoutput>   <cfif count GTE 3>    <cfbreak>   </cfif></cfloop>

Il tag <cfsavecontent> fornisce un altromeccanismo per immagazzinare dati in una variabile. Lasintassi è la seguente:

<cfsavecontent variable="var_name">   Variable value</cfsavecontent>

Un fattore importante da ricordare riguardante<cfsavecontent> è che dentro questo tagpuò starci dell'altro codice ColdFusion, comeespressioni condizionali e cicli. Questo rende semplicesalvare i risultati di una parte di codice complicata dentrouna stringa di testo senza appendere ilrisultato in unavariabile tramite <cfset>.

Conclusioni

In questa lezioni avete imparato a lavorare con i blocchicondizionali if-else if-else eswitch, a riconoscere ed usare i cicli e aredirezionare l'utente su un altra pagina con<cflocation>.



Ti potrebbe interessare anche

commenta la notizia