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.
Neuer Routingmechanismus für Controller, die als Package implementiert sind
Voraussetzungen:
SL::Controller::Base abgeleitet.
"action_" beginnen. Alle Versuche, andere (auch existierende) Subs
aufzurufen, werden entsprechend mit Fehlermeldungen quittiert.
garbage collector entsorgt.
Template $self als SELF verfügbar, z.B. "[% FOREACH message =
SELF.messages %]".
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()".
Conflicts: