Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp11/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp11/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp11/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2011 - Controller - Aufgaben

Aufgaben des Controllers

Der Controller ist für die Koordination von Anwender und Applikation zuständig. Er nimmt Benutzereingaben der View entgegen und verarbeitet diese in Zusammenspiel mit der Applikationslogik, die vom Model in Form von Methoden zur Verfügung gestellt wird. Es liegt außerdem im Aufgabenbereich des Controllers dafür zu Sorgen, dass das Routing einwandfrei funktioniert, d.H., dass die, vom Anwender gewünschte Funktion korrekt zu der, dafür zuständigem Controllerklasse und Controllermethode gelangt. Innerhalb der Klassen verarbeitet der Controller die Interaktion grundlegend mit 4 Methoden. Create, Read, Update und Destroy (CRUD). Die von Ruby standardmäßig zur Verfügung gestellten Methoden sind dementsprechend:

  • index
    • Übersicht über alle Datensätze
  • show
    • Ein Dateneintrag in der Detailansicht
  • new
    • Ein leeres Objekt wird generiert und der View zur Verfügung gestellt
    • Die „new.html“ des Objektes wird aufgerufen
  • edit
    • Anahand einer id, die von der view als Parameter zur Verfügung gestellt wird, wird eine Entität aus der Datenbank geholt und der View mit dem entsprechenden Template zur Verfügung gestellt
  • create
    • Nach Absenden des Formulars in der „new.html“ wird hier das zuvor noch leere Objekt mit den Parametern befüllt und in die Datenbank gespeichert
  • update
    • Ähnlich wie bei Create wird hier allerdings eine bereits vorhandene Entität mit den Parametern aus dem edit Template verändert und in die Datenbank zurückgespeichert
  • destroy
    • Anhand einer id, die von der View mittels eines Parameters übergeben wird, suchen wir eine Entität in der Datenbank und löschen ebendieses.

Diese „rohen“ Methoden müssen dann während der Projektphase in Koordination mit den Model -und View Gruppen erweitert und verändert werden, damit die gewünschten Funktionalitäten gewährleistet werden können. Ein weiterer wichtiger Punkt, den der Controller sicherstellen muss, ist die Rechte -und Rollenverteilung, so soll es einem gewöhnlichen Nutzer nicht möglich sein, beliebige Entitäten zu löschen, indem er einfach die richtige destroy Methode, mit entsprechender id aufruft.


Page last modified on August 11, 2011, at 03:56 PM