From: Moritz Bunkus Date: Thu, 30 Dec 2010 15:17:36 +0000 (+0100) Subject: Neuer Routingmechanismus für Controller, die als Package implementiert sind X-Git-Tag: release-2.6.2beta1~20^2~1^2~14 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/41400107ec8929d6ea107de7f5238006e9de029c?hp=41400107ec8929d6ea107de7f5238006e9de029c 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 ---