]> wagnertech.de Git - mfinanz.git/commitdiff
Neuer Routingmechanismus für Controller, die als Package implementiert sind
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 30 Dec 2010 15:17:36 +0000 (16:17 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 30 Dec 2010 15:17:36 +0000 (16:17 +0100)
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


No differences found