Was ist EVA? top
“Eingabe Verarbeitung Ausgabe” ist einfach zu beschreiben, es gewehrt dem Programmierer gewisse Annehmlichkeiten, insofern sich dieser an die EVA-Regeln hält. Es ist also ein Programmier-Pattern(Muster).
Die EVA-Regeln top
Es schreibt vor, dass ein Programm in drei Teile aufgeteilt wird, ihr dürft raten in welche
Eingabe top
Hier werden die Eingaben geprüft und ggf. der Programmablauf gestoppt und Neueingabe gefordert.
Verarbeitung top
Die Eingaben wurden schon geprüft und können direkt verarbeitet werden.
Die Grenzen zwischen Eingabe und Verarbeitung können bei PHP oft verwaschen sein. Jedoch ist es sehr empfehlenswert sich an die Reihenfolge zu halten.
Also erst alle Eingangsvariablen auf Richtigkeit prüfen und erst dann Verarbeiten.
So erspart man sich auch unangenehmen Situationen, wie erst den Datenbankeintrag erstellen und erst dann merken, dass die Daten für einen 2. (zugehörenden) Eintrag fehlen.
Ausgabe top
Hier werden die Ergebnisse, ggf. in einem Template(Schablone mit Platzhaltern für die auszugebenden Werte) ausgegeben.
Ein Beispiel top
Im Beispiel werde ich einen Webshop, welcher ein Mal nicht und einen der mit dem EVA-Prinzip im Hinterkopf programmiert wurde, betrachten.
Nicht EVA top
Man hat die Ausgabe zusammen mit der Verarbeitung (und der Eingabe) in eine Datei geschrieben. Die Ausgabe des Kontostandes erfolgt -durch den Seitenaufbau bestimmt- vor der Ausgabe des Seiteninhaltes. Nun erfolgt die Verarbeitung erst im Inhaltsbereich, also auch erst hinter der Ausgabe des Kontostandes.
Ein Kunde möchte jetzt einen Artikel kaufen: es folgen die einzelne (relevante) Schritte der Seitendarstellung.
- Ausgabe des Kontostandes
- Das Shop-System erkennt den Wunsch des Kunden (in dem Inhaltsbereich)
- Es bucht den Preis vom Konto des Kunden => Kontostand wird niedriger
Der Kontostand ausgegeben und erst dann erfolgt die Verarbeitung der Bestellung, dies führt dazu, dass der Kunde seinen alten Kontostand (wie noch vor der Bestellung) sieht.
EVA top
Der bessere Weg ist, erst die Daten zu Verarbeiten und erst dann die Ausgabe zu tätigen.
Dies würde -in Einzelschritten- so aussehen:
- Das Shop-System erkennt den Wunsch des Kunden
- Es bucht den Preis vom Konto des Kunden => Kontostand wird niedriger
- Ausgabe des Kontostandes
Und schon sieht der Kunde seinen aktuellen Kontostand.