Che cosa è CF ScriptUna delle grandi cose su ColdFusion è la sua facile la sintassi, l'uso tagbased. Avendo la possibilità di interporre CFML e tag HTML, senza dover aprire e chiudere i blocchi di script o il bisogno di ricordare ciò che la sintassi si sta lavorando in è una cosa meravigliosa. A volte, tuttavia, utilizzando una sintassi script Sarebbe bello, ad esempio, se si sta facendo pesante l'elaborazione dei dati in una pagina. Piacevole come tag CFML di sintassi base è, macinare il numero si esprime al meglio nello script. Cfscript è un server-side linguaggio di scripting che funziona con CFML a dare il meglio di entrambi i mondi: un elegante, sintassi-tag basati quando ne hai bisogno e una sintassi flessibile script se non fare. funzioni definite dall'utente sono discussi più avanti. Noi non li include in questo articolo, perché la capacità di ColdFusion MX di definire UDF utilizzando cfscript o sintassi CFML. Questo articolo descrive i principi fondamentali di cfscript. In sostanza, cfscript è un'istruzione per il motore di elaborazione ColdFusion per il trattamento di un blocco di codice come scripting basato su sintassi piuttosto che come tag-based sintassi. Perché mess con una cosa assolutamente buona (CFML) con l'aggiunta di un'altra complicazione (script)? Perché quest'ultimo è più facile e più veloce al codice di procedura. Consideri il seguente frammento, per esempio, che loop da 1 a 10, aggiungendo ogni indice per un totale parziale:
Di seguito è riportato lo stesso codice espresso in sintassi scripting cfscript's:
TheSum = TheSum + 1;) Cfscript non supporta la sintassi + + per incrementare una variabile che può essere familiare a voi se avete esperienza con Java, JavaScript, o C + +. Sembra familiare? Se hai JavaScript déjà vu, che è normale, perché cfscript è quasi identica a JavaScript. Cfscript blocca la maggior parte istanziare variabili ed eseguire i calcoli, ma possono produrre un output, anche. Si consideri, ad esempio, la seguente estensione del frammento di codice precedente:
Normalmente, tutto ciò che non fa parte di un tag CFML è uscita alla pagina. Cfscript, invece, utilizza una funzione chiamata WriteOutput () per la pagina di uscita, come mostra il seguente esempio:
Pensare WriteOutput () come il server-side equivalente del client JavaScript-side document.write () metodo. La differenza tra WriteOutput () e document.write () mostra la mentalità diverse cfscript rispetto al CFML. Piuttosto che il testo appena "esserci", come è in CFML, cfscript deve essere diretta per l'uscita del testo. Notare l'uso della virgola, che terminano le dichiarazioni cfscript. Cfscript è meno indulgente di JavaScript rispetto alla chiusura punto e virgola; dimenticare, e ColdFusion genera un errore. Un'altra cosa che avete bisogno di abituarsi al cfscript è l'uso di parentesi graffe. Le parentesi graffe surround blocchi di codice cfscript simile al modo in cui apertura e chiusura tag surround blocchi di codice CFML, ma il loro uso è in realtà più critica. Un semplice costrutto if in cfscript appare come segue:
Il frammento di codice precedente viene eseguito senza errori, ma supponiamo che avete bisogno di aggiungere un altro comunicato dopo doThis (), come nel seguente esempio: if (this EQ che) doThis (); doSomeOtherThingToo (); altro doThat (); ColdFusion genera un errore, perché si vede una clausola else senza un corrispondente, se la clausola. Ciò succede perché il doSomeOtherThingToo () dichiarazione è considerata la continuazione delle dichiarazioni dopo l'istruzione if termina l'esecuzione del doThis () dichiarazione. Per cfscript per eseguire entrambe le dichiarazioni in cui il test se TRUE, è necessario racchiudere entro parentesi graffe come segue:
In effetti, una pratica migliore è di inserire sempre le parentesi graffe, indipendentemente dal fatto che ne hai bisogno o non, come nel seguente esempio:
Perché? Perché non sai mai quando stai per aggiungere un'altra dichiarazione di uno esistente, se prova. Non possiamo dirvi quante volte che abbiamo gettato errori nei primi giorni con l'aggiunta di una seconda dichiarazione di uno esistente, non chiuso costrutto if, semplicemente perché non abbiamo prestato attenzione al meccanismo di recinzione. Se avete sempre racchiudere, non si passi errori. Lo stesso vale per qualsiasi linguaggio che richiede recinto del genere. Tutto il codice cfscript è racchiuso tra i tag cfscript, come mostrato nell'esempio seguente: ... Codice CFML Regular qui va ... Si noti che il contenuto di un blocco cfscript deve essere una dichiarazione completa. Non è possibile, ad esempio, effettuare le seguenti operazioni:
Il mio testo va qui. Che tipo di costruzione è valido in altri linguaggi di scripting, ma non in cfscript. Cfscript operazioni deve essere indipendente in un unico blocco di codice, come segue:
Si possono avere diversi blocchi cfscript ColdFusion in un singolo modello, ma ogni blocco cfscript deve essere a sé stante blocco di codice eseguibile. L'operazione più semplice in cfscript è l'impostazione di una variabile, come segue:
Impostazione di una variabile in cfscript non richiede tag CFSET, e la dichiarazione termina con un punto e virgola. È ora possibile utilizzare myVar proprio come si farebbe con qualsiasi altra variabile ColdFusion. Si noti che è possibile condividere qualsiasi variabile tra cfscript e regolare CFML, come segue:
Non si sono limitati a impostazione e di lettura delle variabili nel campo di applicazione variabili, sia. Qualsiasi variabile che è possibile impostare utilizzando basato su tag CFML può essere impostato anche utilizzando la sintassi scripting cfscript's. Il costrutto if in cfscript funziona esattamente come il suo omologo CFML, CFIF. ColdFusion valuta una condizione ed esegue una dichiarazione a carico sulla base se la condizione è vera o falsa. Comparare i seguenti CFML e cfscript se costrutti: CFML: ... eseguire se fosse vero ... Cfscript: if (yourVar GT myVar) (... eseguire se fosse vero ...) Cfscript ha anche un equivalente CFELSE, come mostra il seguente esempio: if (yourVar GT myVar) (... eseguire se fosse vero ...) else (... eseguire se false ...) È anche possibile trovare un equivalente in CFELSEIF cfscript, come segue: if (yourVar GT myVar) (... eseguire se fosse vero ...) else if (yourVar EQ myVar) (... eseguire se fosse vero ...) else (... eseguito se tutte le condizioni false ...) un articolo presentato da Johanna Schmidt Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni. Importante: Questo articolo "Che cos'è CF Script" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.
|
|||||
| Online: 320 users browsing the articles directory |
|
|