Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 41400107

Von Moritz Bunkus vor fast 14 Jahren hinzugefügt

  • ID 41400107ec8929d6ea107de7f5238006e9de029c
  • Vorgänger 95ecb428
  • Nachfolger eb1efd21

Neuer Routingmechanismus für Controller, die als Package implementiert sind

Voraussetzungen:

  • Controller liegt in SL/Controller/Class.pm und ist von
    SL::Controller::Base abgeleitet.
  • Der Name von Subs, die als Action aufgerufen werden sollen, muss mit
    "action_" beginnen. Alle Versuche, andere (auch existierende) Subs
    aufzurufen, werden entsprechend mit Fehlermeldungen quittiert.
  • Pro Request wird eine Instanz der Klasse erzeugt und danach vom
    garbage collector entsorgt.
  • Im Controller "$self->parse_html_template()" verwenden, dann ist im
    Template $self als SELF verfügbar, z.B. "[% FOREACH message =
    SELF.messages %]".
  • Form-Parameter "action" muss das Format "Controller::action"
    besitzen. "Controller" ist der Packagename ohne die Präfixe, sprich
    der Basisdateiname. "action" ist der Name der aufzurufenden Sub ohne
    das "action_"-Präfix. Aus "Message::list" würde also grob gesehen
    "SL::Controller::Message->new->action_list()".
  • Das Script in der URL muss 'controller.pl' heißen.

Conflicts:

SL/Dispatcher.pm
scripts/locales.pl
  • hinzugefügt
  • geändert
  • kopiert
  • umbenannt
  • gelöscht