CFML: Variablen
Bevor wir uns an die ersten Anwendungen machen, wollen wir uns zunächst mit den Grundlagen beschäftigen und erfahren wie CFML im einzelnen notiert wird.Eine einfache Variable erstellen und ausgeben
Eine simple Anweisung in ColdFusion schreiben heißt, einen Ausdruck zu erstellen, der sich zusammensetzt aus einer Variablendeklaration und einer Ausgabeanweisung. Ein Beispiel:<cfset MeineVariable="Das ist eine einfache Variable">
<cfoutput> MeineVariable: #MeineVariable# </cfoutput>
Meine Variable: Das ist eine einfache Variable
Obwohl es sich nur um ein einfaches Programmbeispiel handelt, sagt es doch einiges über den Aufbau eines Ausdrucks aus. Der Tag<cfset>
deklariert neue Variablen. Dabei besteht die Deklaration aus zwei Teilen: Dem Namen der Variablen und ihrem Wert. Der Name der Variablen wird hierzu als Attribut notiert, dem ein entsprechender Wert zugewiesen wird. Die Ausgabe des Werts übernimmt der Tag <cfoutput>
. Damit der CF-Server Variablen von normalem Text unterscheiden kann, muss die Variable von zwei Rauten (#
) wie im obigen Beispiel eingeschlossen werden.
Einfache Variablentypen
Prinzipiell unterscheidet der CF-Server nicht zwischen Variablen der Standardtypen. Das bedeutet, egal ob Sie Strings (Text), Integer (Zahl) oder Boolean (Wahrheitswerte) als Variablenwert notieren - der CF-Server wird sie richtig interpretieren. Bei Kommazahlen ist zu beachten, dass hierbei nicht wie im deutschen das Komma, sondern der Punkt als Dezimaltrennzeichen verwendet wird. Wahrheitswerte können "true" (wahr) und "false" (falsch) sein.Komplexe Variablentypen
Mit Hilfe descfset
-Tags lassen sich komplexe Variablen wie Listen, Strukturen oder Array-Elemente erzeugen. Der Unterschied zwischen einer einfachen und einer komplexen Variablen besteht darin, dass die Elemente der komplexen Variablen indiziert werden. Dabei muss beachtet werden, dass strukturierte Daten generell mit <cfdump>
ausgegeben werden. <cfdump>
ist eine Alternative zu <cfoutput>
. Es sollte immer dann genommen werden, wenn eine Codesequenz (nicht nur eine Variable) ausprobiert oder debuggt wird:
<cfdump var="#Array#" />
Arrays
Ein Array entspricht einer normalen Liste, mit dem Unterschied, dass diese auch mehrdimensional sein können (also z.B. in Tabellenform oder 3D). Um ein Array zu erstellt wird zunächst der Name der Variablen mitcfset
definiert. Als Wert wird die Funktion ArrayNew(X)
notiert, wobei das X
für die Anzahl der Dimensionen steht. Um das Array dann mit Werten zu füllen wird jeweils wieder ein cfset
aufgerufen, wobei jeweils der entsprechende Wert übergeben wird. Alle Werte einer Dimension werden dabei mit Hilfe von eckigen Klammern ([
und ]
) sowie dem Index des Feldes angesprochen. Bei mehrdimensionalen Arrays werden einfach mehrere Klammernpaare nacheinander notiert. Beispiel:
<cfset MeinArray="ArrayNew(2)" />
<cfset MeinArray[1][1]="Adler Bussard" />
<cfset MeinArray[1][2]="Adler Falke" />
<cfset MeinArray[2][1]="Falke Sperber" />
<cfset MeinArray[2][2]="Sperber Habicht" />
<cfoutput>
<table>
<tr>
<td><b>Index</b></td>
<td><b>Spalte 1</b></td>
<td><b>Spalte 2</b></td>
</tr>
<tr>
<td><b>Zeile 1</b></td>
<td>#MeinArray[1][1]#</td>
<td>#MeinArray[1][2]#</td>
</tr>
<tr>
<td><b>Zeile 2</b></td>
<td>#MeinArray[2][1]#</td>
<td>#MeinArray[2][2]#</td>
</tr>
</table>
</cfoutput>
Darstellung: Die Ausgabe im Browser
Strukturen
Strukturen stellen in ColdFusion ein zentrales Element moderner Webentwicklung dar. Eine neue Struktur ähnelt dem Aufbau eines Arrays und wird mit der FunktionStructNew()
angelegt:
<cfset StruktEins="StructNew()" />
Neue Elemente erhält die Struktur, wenn die FunktionStructInsert()
mit den Parametern Struktur, Name, Wert und optional Überschreiben verwendet wird. Die Parameter sollten sich von allein erklären:
<cfset StruktEins="StructNew()" />
<cfset NeuerInhalt=StructInsert(StruktEins,"Eins","HTML")/>
<cfset NeuerInhalt=StructInsert(StruktEins,"Zwei","CSS")/>
cfoutput
-Anweisung ausgegeben und die Elemente der entsprechenden Value-Attribute aus:
<cfoutput>
1: #StructFind(StruktEins, "Eins")#<br>
2: #StructFind(StruktEins, "Zwei")#<br>
</cfoutput>
1: HTML
2: CSS
Formular-Variablen
Um die interaktive Eingabe von Texten und Daten in bestimmten Bereichen der Webseite zu gewährleisten, kommen Formular-Variablen wie Textfelder, Aufklappmenüs, Listen, Optionsfelder, Radiobuttons oder geschützte Felder zum Einsatz. Mit Dreamweaver bzw. einem anderen HTML-Editor lassen sich Formularfelder sehr leicht auch grafisch entwickeln. Ein Beispiel-Formular:<form action="formulare.cfm" method="post">
<input name="CheckBox" type="checkbox"
value="check1" checked>CheckBox<br>
<select name="SelectBox">
<option value="Select1">Select 1</option>
<option value="Select2">Select 2</option>
</select><br>
<input name="RadioButton" type="radio"
value="Radio1">Radio 1<br>
<input name="RadioButton" type="radio"
value="Radio2" checked>Radio 2<br>
<textarea name="TextArea" rows="5" cols="45"></textarea>
</form>
<cfoutput>
Sie haben ausgewählt:<br>
CheckBox: #CheckBox#<br>
SelectBox: #SelectBox#<br>
RadioButton: #RadioButton#<br>
TextArea: #TextArea#
</cfoutput>
URL-Parameter definieren und einsetzen
Ebenso wie bei Formularen können auch durch URL's Parameter übergeben werden, z.B.https://www.example.com/daytime.cfm?MeineVariable=Mittag
. Das Fragezeichen dient hier als Trennzeichen, um nach dem Seitenaufruf noch eine Variable übergeben zu können. Mittels Kaufmannsund (&
) lassen sich auch weitere Variablen an den Hyperlink anhängen, z.B.: http://www.html-world.de/daytime.cfm?MeineVariable=Mittag&MeineVariable2=Arbeitszeitende
. Beim vorangegangenen Beispiel kann also auf der Folgeseite "daytime.cfm" mit den Variablen MeineVariable
und MeineVariable2
gearbeitet werden, die hier die Werte "Mittag" und "Arbeitszeitende" besitzen.
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Operatoren in CFML
Über uns

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