Hallo,
wer von euch hat denn schon mit
Router::Simple gearbeitet?
Ich komme nicht klar.
Ich stelle die Routendefinitionen auf, dann rufe ich für das Router Objekt match auf, was mir die gefundene Route inklusive möglicher Variablen als Hashref zurückgibt.
Unterstützt Router::Simple keinen dynamischen Aufruf der gefundenen Route, wie beispielsweise
Mojo mit seinem Routensystem?
Konkreter Anwendungsfall:
Ich habe die Routendefinitionen:
use Router::Simple;
my $router = Router::Simple->new();
$router->connect('/', {controller => 'Root', action => 'show'});
$router->connect('/blog/{year}/{month}', {controller => 'Blog', action => 'monthly'});
Nun matche ich gegen
my $p = $router->match($ENV{'PATH_INFO'});
was mir beispielsweise
{ controller => 'Root', action => 'show' }
zurückgibt. Allerdings muss man jetzt die ganze Sache noch aufrufen. In meinem Fall muss dazu eine Instanz von der Root Klasse erstellt werden und anschließend die Funktion show aufgerufen werden. Die möglichen Variablen werden show als Parameter übergeben:
use Root;
my $r = new Root;
$r->show( [ {$var1 => 'val1', $var2 => 'val2'} ] )
Muss ich das ganze mit eval usw selber bauen oder unterstützt Router::Simple diesen Vorgang? Gibts eventuell robuste Module hierfür im CPAN?
Oder empfehlt mir ein anderes Routensystem?
Danke für eure Infos..
Last edited: 2010-09-10 14:38:43 +0200 (CEST)
Viele Grüße :)