Thread Router::Simple (0 answers)
Opened by roooot at 2010-09-10 14:36

roooot
 2010-09-10 14:36
#141277 #141277
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Hallo,

wer von euch hat denn schon mit CPAN: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 CPAN:Mojo mit seinem Routensystem?


Konkreter Anwendungsfall:
Ich habe die Routendefinitionen:
Code (perl): (dl )
1
2
3
4
5
6
# route
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
Code (perl): (dl )
my $p   = $router->match($ENV{'PATH_INFO'});
was mir beispielsweise
Code (perl): (dl )
{ 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:
Code (perl): (dl )
1
2
3
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 :)

View full thread Router::Simple