Artikel - Detailansicht

Icon Aktuelles Eine Einführung in Fusebox Techniken

Was ist Fusebox?

Fusebox ist ein Art Coldfusion Applications zu erstellen. Angefangen von kleinen Modulen, über mittlere Systeme bis hin zu großen Systemen. Es handelt sich um einen freien Standard.
Jeder kann den Teil nutzen, den er für gut befindet und niemand ist gezwungen alle Vorschläge zu nutzen. Fusebox ist von Coldfusion Entwickler für Coldfusion Entwickler "entwickelt" worden.

Warum Fusebox? Was sind die Ziele?

- Übersichtlichkeit des Codes
- Wiederverwendung von Code
- Strukturierung von Applications
- Vereinfachung der Übersichtlichkeit eine Application
- Vereinfachung des Projektmanagements
- Erstellung von "portablen "Teilapplications"

dies sind die Grundlegenden Ziele des Fusebox Standards. In diesem Artikel möchte ich NICHT den kompletten Fusebox Standard darlegen (für den Fall das ein Leser schon etwas weiter ist), sondern die wichtigsten Techniken für einzelne Fusebox Module (Fuses) erklären. In einem eventuell späteren Artikel gehe ich dann auf den vollen Standard ein.
Ich möchte primär die Techniken vorstellen und Interesse wecken. Für ausführliche Informationen empfehle ich dann direkt auf der Fusebox Seite nachzuschauen.

Die oben gennanten Ziele werden durch folgende Vorlagen erreicht:

1. Erstellung einer Switch Datei

Es wird eine Switch Datei erstellt (normalerweise index.cfm), die alle dem Modul zugeordneten Funktionalitäten per <CFINCLUDE> aufruft. Wichtig ist dabei, das das alle Funktionen aus diesem Modul nur über die Switch Datei erfolgt.
Jedes Unterscript verweist dabei immer nur auf die INDEX Datei. Es wird also wenn das Modul verwendet wird nur auf diese eine Datei Zugegriffen.
Welche Funktionalität dabei aufgerufen wird, wird über den Parameter "Fuseaction" festgelegt. Dieser kann als URL oder Form Variable weitergeben werden.

Hier ein Beispiel:

<cfswitch expression="#fuseaction#">

  <!--- Aktion 1 --->
  <cfcase value="aktion1">
    <cfinclude template="dsp/dsp_header.cfm">
    <cfinclude template="qry/qry_aktion1.cfm">
    <cfinclude template="dsp/dsp_aktion1.cfm">
    <cfinclude template="dsp/dsp_footer.cfm">
  </cfcase>

  <!--- Aktion 2 --->
  <cfcase value="aktion2">
    <cfinclude template="qry/qry_newsite.cfm">
    <cfinclude template="qry/act_newsite.cfm">
    <cfinclude template="dsp/dsp_queryresult.cfm">
  </cfcase>


</cfswitch>


Über <CFSWITCH> wird der Parameter ausgewertet und der entsprechende Code ausgeführt. Desweiteren wird wohl aufgefallen sein, das vor jedem Dateiname entweder dsp, qry oder act steht.

Warum nun das ganze?
1. Wenn man sich die INDEX Datei anschaut, erkennt man sehr schnell, welche Datei für was zuständig ist.
2. Durch das zusammensetzen einer Internetseite aus verschiedenen Codestückchen (header, footer, Querys, etc) lassen sich Codestücke wiederverwenden, gerade häufig benutze Querys müssen so nicht mehrmals geschrieben werden, bzw. bei Änderungen abgeändert werden. 3. Dadurch das man den Dateien act,qry bzw, dsp Voransetzt und streng trennt, wird die Funktionalität von der Ausgabe getrennt.

2. Erstellung der dsp,act,qry Dateien

Bei Fusebox gibt es wie vorher schon bemerkt 3 verschiedene Dateitypen:

dsp

sind reine Ausgabedateien, in Ihnen wird weder ein Datenbankanfrage (Query) ausgeführt noch viel mit Coldfusion Tags gearbeitet. Normalerweise sollten diese Dateien nicht mehr als CFOUTPUT oder CFINPUT enthalten.

qry

sind reine Datenbankabfragen, was bedeutet, das in diesen Dateien keine UPDATE, DELETE oder INSERT Anweisungen Auftreten (zur Erklärung query von Englisch nach Deutsch übersetzt heißt nur Abfrage). Datenbankänderungen werden über die act Dateien abgewickelt. Sie enthalten nur den <CFQUERY> Befehl, sie verarbeiten keine Daten und geben keine Daten aus (also kein CFOUTPUT).

act

sind die Dateien, die einfach ausgedrückt etwas tun, in Ihnen ist alles erlaubt, was nicht der Ausgabe (CFOUTPUT) oder der Datenbankabfrage dient.

3. Verkettung von Einzelapplications und Fazit

Wenn man mehrere kleinere Unterapplikationen nach diesem Schema geschrieben hat kann man eine Übergeordnete INDEX Datei erstellen, die wiederum die entsprechenden Unterapplikationen aufruft. Dies ist die Fusebox (der Sicherungskasten), in Ihn lassen sich beliebig viele Unterapplikationen einbinden. Wenn eine diese Applikationen Probleme bereitet laufen die anderen unabhängig weiter (Wie in einem Haus in dem eine Sicherung für ein Zimmer ausfällt, dann haben die anderen Zimmer immer noch Strom).
Durch die einheitliche Programmierung, fällt es Fusebox Entwicklern untereinander einfacher sich in fremden Code reinzudenken.

Weitere Informationen sind unter:

www.fusebox.org oder www.halhelms.com zu finden.

Tim Köhler tim.koehler@direct-place.com - 07.06.2001

Zurück


Das deutsche ColdFusion-Forum cfml.de ist das Portal für Einsteiger und Experten zum Thema ColdFusion und der ColdFusion Markup Language (CFML).

© 2017 Webdesign & Hosting: CHC ONLINE Kassel | SOLVA Content-Management-System CMS
Urlaub-Angebote.de - Urlaub mit Bestpreis-Garantie buchen