Kontakt aufnehmen

CFML: Ablaufsteuerung

Nahezu jede (Programmier-)Sprache stellt bestimmte Mechanismen zur Ablaufsteuerung zur Verfügung - so auch ColdFusion . Mit den dafür bereit gestellten Tags ist es, möglich den Programmablauf zu kontrollieren, zu beeinflussen und ggf. in die richtige Richtung zu lenken.

Funktionen

Funktionen haben in ColdFusion eine starke Unterstützung. Sie werden gebraucht um, die Ausgabebedingungen von Daten zu formatieren und zu manipulieren. Zu diesem Zweck bietet ColdFusion eine Vielzahl von Funktionen an. Als fortgeschrittene Technik ist es möglich mit UDFs (User Defined Functions) in ColdFusion zu programmieren. Um eine UDF zu definiert, schreibt man ein Skript, das die Funktion enthält und definiert. An dieser Stelle soll die Definition einer einfachen Funktion in einem Skript-Block genügen um nicht weiter auszuschweifen:

<cfscript>
 function aFunction()
 {
  writeOutput("Es ist Anfang Januar und schlechtes Wetter."); 
 }
</cfscript>

Die UDF wird dann auf die gleiche Weise aufgerufen wie andere Funktion auch:

<cfoutput> #aFunction()# </cfoutput>

Der Aufruf der UDF über das Skript bewirkt, dass auf der Webseite folgender Satz zu lesen ist: Es ist Anfang Januar und schlechtes Wetter.

Bedingungen

Variablen, Ausdrücke, Operatoren und Funktionen sind zur Programmausführung wenig nützlich, wenn Schleifen fehlen. Durch Schleifen kommen Anwendungen erst so recht in Schwung.

If..else - Bedingungen formulieren

Die if-else-Anweisung wird in den meisten Programmiersprachen zur Bedingungsprüfung eingesetzt - so auch in CFML . Innerhalb des cfif-Tags kann eine Bedingungen formuliert werden. In ColdFusion können Bedingungen und Schleifen alternativ mit dem cfscript-Tag als Skript eingebettet werden. Das nächste Beispiel zeigt einen Bedingungstest mit einer cfif-Struktur. Die Übergabe zum nächsten Argument erfolgt dann, wenn das Ergebnis TRUE zurückgeliefert wurde. Die Übergabe nach erfolgreicher Prüfung leistet der Tag cfifelse. Die Schleife beginnt mit cfif und prüft, ob die erste getestete Bedingung TRUE ergibt. Ist dies nicht der Fall, springt die Schleife zur nächsten cfifelse-Anweisung und führt wiederum eine Prüfung, d.h. einen Wahrheitstest, durch. Konnte keine Bedingung mit TRUE ausgewertet werden, so wird (falls vorhanden) der cfelse-Abschnitt. Ausgeführt. Das Beispiel als normale if..else-Schleife:

<cfset pass="16" />
<cfoutput>
<cfif pass LT 25> Weit verfehlt!
   <cfelseif pass GTE 5> Die untere Marke!
   <cfelseif pass LTE 16> Woher soviel Scharfsinn?
   <cfelseif pass EQ 16> Gewonnen. Famos geraten. 
   <cfelse> Naja, auch nicht schlecht.
</cfif>
</cfoutput>

Das gleiche Beispiel eingebettet in cfscript:

<cfscript>
pass=16;
if(pass LT 25){writeOutput("Weit verfehlt");}
else if(pass GTE 5){writeOuput("Die untere Marke.");}
else if(pass LTE 16){writeOutput("Woher soviel Scharfsinn?");}
else if(pass EQ 16){writeOutput("Gewonnen. Famos geraten.");}
else{writeOutput("Naja, auch nicht schlecht.");}
</cfscript>

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Weiterlesen: ⯈ CustomTags und Datenbanke

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern