Actioncontroller

Das Dispatching des ZEND Framework basiert auf Actions. Für jede Funktionsgruppe (zum Beispiel die Verwaltung von Administratoren) wird ein ActionController angelegt. Für jede Action existiert wiederum eine Methode (zum Beispiel indexAction()). Das RedSpark Framework geht an dieser Stelle einen Schritt weiter, und zwar aus folgendem Grund: Actions die ein Formular enthalten, müssen in der Regel gespeichert werden. Man müsste dafür jeweils eine Action ("Formular zeigen", "Formular speichern") einfügen oder die Action selbst (z.B. per case Verteiler) unterteilen, um die Daten zu speichern.

Im RedSpark Framework gibt es für jede Action nicht nur eine Methode, sondern eine komplette Klasse. Die Action-Klasse ist in "subactions" unterteilt. Als Standard wird die Methode defaultSubaction() aufgerufen, meist um das Formular zu erzeugen. Die Speicherung der Daten erfolgt in der saveSubaction() welche bei Erfolg eine Weiterleitung durchführt und im Fehlerfall die fehlerhaften Felder registriert und $this->defaultSubaction() aufruft, um das Formular erneut auszugeben.

Die Kapselung des kompletten Workflow in einer Klasse bietet zudem weitere Vorteile. Eventuell nötige Hilfsmethoden, sowie Attribute wie "Weiterleitungsziel", etc., die ausschließlich in der jeweiligen Action benötigt werden, lassen sich als private Methoden realisieren und damit in der Action kapseln.

   
<?php
/**
 * Cache konfigurieren
 *
 * @param Redspark_Cache_Entity_Action $entity
 */
protected function init() {
    
    $this->_uid Redspark_Session::$uid;

    
    if (!isset($_SESSION['treemenu_open_status'])) {
    
        $_SESSION['treemenu_open_status'] = Array();
    
        $_SESSION['treemenu_open_status']['Cms'] = TRUE;
    
    }
    
    $this->_aid Redspark_Session::$aid;
}
?>

Kuborgh GmbH

Hamburg 040 819 773 770 Köln 0221 276 66 96 info@kuborgh.de www.kuborgh.de

RedSpark Community

RedSpark Community

Community Website
RedSpark Apps

RedSpark Apps

Zur Übersicht
RedSpark Download

RedSpark Basispaket

Zum Download
Key facts