Kontakt aufnehmen

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.
Damit ein ColdFusion-Ausdruck auch ausgeführt werden kann, muss die Seite auf dem Webserver eingerichtet und mit dem CF-Administrator verbunden sein. Am bequemsten wird eine neue ColdFusion-Seite in Dreamweaver angelegt und im Unterverzeichnis des Webservers abgelegt.

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>

Wird das Template an den Browser übergeben, steht auf der fertigen Webseite zu lesen:

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 des cfset-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 mit cfset 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>

Der Browser stellt als Ergebnis eine Tabelle mit den Inhalten des Array dar:

Die Ausgabe im Browser
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 Funktion StructNew() angelegt:

<cfset StruktEins="StructNew()" />

Neue Elemente erhält die Struktur, wenn die Funktion StructInsert() 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")/>

Das Ergebnis der Struktur wird über eine cfoutput-Anweisung ausgegeben und die Elemente der entsprechenden Value-Attribute aus:

<cfoutput>
 1: #StructFind(StruktEins, "Eins")#<br>
 2: #StructFind(StruktEins, "Zwei")#<br>
</cfoutput>

Das Ergebnis:

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>

Schickt der Besucher dieses Formular ab, so wird vom Browser eine neue Datei (hier formulare.cfm) abgefragt. Da diese mit dem CF-Server verbunden ist, können innerhalb der Seite die übergebenen Variablen wieder ausgelesen und angezeigt werden. Das Auslesen ist hierbei nicht gesondert nötig - das übernimmt ColdFusion für uns. Die Ausgabe des obigen Formulars könnte dann z.B. so aussehen:

<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

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