Looping

Cfloop può anche loop su una query, come illustrato nel codice. Ricordo che quando il ciclo più di query, non ti circondano il nome di query oggetto con segni di cancelletto.

 SELECT CompanyName FROM Company  # # CompanyName 
  

Il cfloop in loop su ogni riga di codice presente in oggetto query GetEmployees e uscite ciascuno il nome dell'azienda nella query. Questo tipo di circuito è simile a una dichiarazione cfoutput, tranne che cfloop può essere nidificato all'interno di un altro cfoutput (cosa che non si può fare con cfoutput da soli). Cfloop può anche loop su un elenco di elementi, come illustrato nel codice. A differenza degli oggetti della query, si fa circondare il nome della lista con i segni di cancelletto.

 # # theItem 

Questo tipo di ciclo scorre ogni elemento in una lista ed esegue un blocco di codice, una volta per ogni elemento. Ogni volta che il ciclo si ripete, l'indice contiene il valore dell'elemento corrente. Loop List sono discussi in dettaglio più avanti. Le strutture sono oggetti complessi che archiviare collezioni di coppie chiave-valore. È possibile loop su una struttura con cfloop utilizzando la sintassi ciclo di raccolta illustrato nel codice.

 # # theKey: # myStruct [theKey] # 

La raccolta è un altro termine per la struttura in lingue maggior parte dei computer, ed è il termine usato per tali oggetti in COM. Quindi, il nome dell'attributo. Elemento contiene il nome della chiave corrente ogni volta che il ciclo si ripete. Solo alto livello tasti sono considerati nel ciclo, quindi se la struttura è in loop ha nidificato strutture, i tasti da quelle strutture nidificate non popolano voce. Per eseguire un ciclo su una struttura nidificata, è necessario passare il suo punto percorso l'attributo di raccolta. A volte, si può decidere di terminare un ciclo prematuramente. Nel codice seguente, ad esempio, ColdFusion termina il ciclo indice anticipatamente se un determinato numero casuale viene in su.

 I # # 

Il CFBREAK nel codice prematuramente scoppia di cfloop. Se, durante il normale corso di questo ciclo, RandRange () restituisce 10, CFBREAK termina il ciclo prima raggiunge i 10. Un'altra tecnica che spesso accompagna CFBREAK è il ciclo infinito, come illustrato nel codice.

 Questa è una iterazione del ciclo. 

Questo codice fa la stessa cosa, come l'altra, ma in meno di codice. La condizione = "TRUE" attributo di cfloop significa che il ciclo viene eseguito per sempre, ma CFBREAK indica il ciclo termina quando RandRange () restituisce 10. Basta essere assolutamente certi che il codice alla fine raggiunge la condizione di interruzione se si sceglie di codice utilizzando l' tecnica di loop infinito. (Proprio il termine da sola è sufficiente a farci rabbrividire!) Alcuni elementi del tuo sito può essere comune a molte pagine, come un header standard o piè di pagina. Utilizzando CFINCLUDE, si può avere un modello che contiene l'intestazione o il codice piè di pagina e quindi comprendere che in un altro modello, come illustrato nel codice.

 Questo è il contenuto principale della pagina. 

Prima di ColdFusion uscite Questo è il contenuto principale della pagina., Tira il codice da header.cfm e footer.cfm nel modello corrente. Il codice di intestazione, quindi, appare prima del testo Questo è il contenuto principale della pagina., E il codice piè di pagina viene visualizzata dopo. È inoltre possibile utilizzare le variabili nella sorgente incluso, come mostra il seguente esempio:

Percorsi di modelli inclusi sono relativi, i file inclusi nel codice avrebbe bisogno di esistere nella stessa directory come il modello che li ha chiamati. Per includere un file in una directory superiore, utilizzare la seguente sintassi:

 

I due punti raccontare ColdFusion per salire di un livello nella struttura di directory per trovare un file. Non è possibile utilizzare un percorso del disco per il modello attributo di CFINCLUDE. È inoltre possibile includere un file basato su una mappatura di directory, come segue:

Ogni volta che il modello di percorso inizia con una barra, ColdFusion utilizza le mappature directory definita in ColdFusion Administrator per individuare il modello. Il nostro server ha due mappature directory definita. Il nostro mapping directory dimostrano che / mappe di C: \ inetpub \ wwwroot \ e / pro / mappe di C: \ programmi \. Supponiamo, quindi, che noi chiamiamo i seguenti:

ColdFusion include il file C: \ inetpub \ template.cfm \ wwwroot perché / mappe per il Web principale. Supponiamo ora che, d'altra parte, che noi chiamiamo invece il seguente:

ColdFusion include C: \ programmi \ template.cfm perché / pro / mappe di C: \ pro. Il tuo percorso possono anche aggiungere le directory dopo la mappatura, come nel seguente esempio:

Non esiste alcun mapping per myIncludes, in modo da ColdFusion include C: \ inetpub \ wwwroot \ myIncludes \ template.cfm. Per contribuire a consolidare queste idee, dare un'occhiata ad alcuni esempi di più. La nostra struttura di directory si presenta come segue:

C: wwwroot inetpub Pro include CommonFiles

Siamo dentro C: \ inetpub \ wwwroot \ comuni \ mypage.cfm. La linea comprende i seguenti C: \ inetpub \ wwwroot \ comuni \ myotherpage.cfm, che racconta ColdFusion per cercare myotherpage.cfm nella stessa directory come l'attuale modello:

La seguente riga include C: \ inetpub \ index.cfm \ wwwroot, che racconta ColdFusion per spostarsi in alto una directory e cercare index.cfm:

La seguente riga include C: \ inetpub \ wwwroot \ include \ myinclude.cfm, che racconta ColdFusion per spostarsi in alto una directory, spostarsi nella sottodirectory include a quel livello, e quindi cercare myinclude.cfm:

La seguente riga include C: \ programmi \ mytemplate.cfm. / pro / è definito come una mappatura in ColdFusion Administrator, quindi il seguente codice ColdFusion dice di guardare in / pro / mappatura e la caccia di mytemplate.cfm:

La seguente riga include C: \ inetpub \ wwwroot \ comuni \ mytemplate.cfm. N. CommonFiles / / mappatura esiste, quindi il seguente codice ColdFusion dice di usare la mappatura /, cercare nella sottodirectory CommonFiles, e poi a caccia di mytemplate.cfm:

La seguente riga include C: \ inetpub \ wwwroot \ include \ myinclude.cfm, che dice a ColdFusion di cambiare due directory (in C: \ Inetpub), spostarsi nella directory wwwroot, entrare nella sottodirectory include, e quindi cercare myinclude . cfm:

Una buona pianificazione della struttura di directory prima del tempo e l'applicazione di una mappatura di root per l'applicazione rende il vostro CFINCLUDEs semplice codice. Si utilizza CFLOCATION per reindirizzare l'utente dopo un'azione di database il codice mostra un esempio di un reindirizzamento.

 DELETE FROM Azienda Dove CompanyID # = Val (Form.CompanyID) # 
 

CFLOCATION prende due attributi: URL e addtoken. URL specifica in cui si desidera reindirizzare l'utente, e addtoken dice ColdFusion se aggiungere CFID e CFTOKEN per l'URL. CFID e CFTOKEN sono due valori che identificano univocamente la sessione di un utente. La cosa importante da ricordare sui CFLOCATION è che si crea una richiesta separata sul server, il che significa che nessuna delle variabili non persistenti riferimento prima del tag CFLOCATION sono accessibili nella destinazione modello . Se volete passare le variabili alla pagina di destinazione, aggiungere alla fine del attributo url CFLOCATION come coppie chiave-valore. Ricordarsi di non inviare i dati sicuri (come ad esempio numeri di carta di credito) attraverso l'URL, in quanto queste informazioni sono in genere raccolte in Web-log del server. Utilizzare CFABORT per arrestare una richiesta in un punto specifico di trasformazione e di inviare l'output creato fino a quel punto torna al browser dell'utente. CFABORT è un attributo facoltativo, showerror, come illustrato nella seguente riga:

Chiamando CFABORT con l'attributo showerror interrompe l'elaborazione della pagina e genera anche un errore. L'attributo showerror viene usato di rado, è CFTHROW il metodo preferito di gettare definiti dall'utente errori. In questo articolo si è appreso il controllo del flusso vari costrutti e le tecniche disponibili in ColdFusion e come utilizzare in modo efficace. Avete a disposizione solo pochi tipi di controllo del flusso-Se costruisce, costruisce Switch, Loop costrutti, inclusioni, redirezioni, e si interrompe, ma appaiono in quasi tutte le applicazioni ColdFusion, quindi è necessario master se si sta per diventare uno sviluppatore esperto.

un articolo presentato da Carmela Herandez


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo "loop" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 319 users browsing the articles directory