|
NAMEMojolicious::Routes::Match - Find routes SYNOPSIS use Mojolicious::Controller;
use Mojolicious::Routes;
use Mojolicious::Routes::Match;
# Routes
my $r = Mojolicious::Routes->new;
$r->get('/user/:id');
$r->put('/user/:id');
# Match
my $c = Mojolicious::Controller->new;
my $match = Mojolicious::Routes::Match->new(root => $r);
$match->find($c => {method => 'PUT', path => '/user/23'});
say $match->stack->[0]{id};
# Render
say $match->path_for->{path};
say $match->path_for(id => 24)->{path};
DESCRIPTIONMojolicious::Routes::Match finds routes in Mojolicious::Routes structures. ATTRIBUTESMojolicious::Routes::Match implements the following attributes. endpointmy $route = $match->endpoint; $match = $match->endpoint(Mojolicious::Routes::Route->new); The route endpoint that matched, usually a Mojolicious::Routes::Route object. positionmy $position = $match->position; $match = $match->position(2); Current position on the "stack", defaults to 0. rootmy $root = $match->root; $match = $match->root(Mojolicious::Routes->new); The root of the route structure, usually a Mojolicious::Routes object. stack my $stack = $match->stack;
$match = $match->stack([{action => 'foo'}, {action => 'bar'}]);
Captured parameters with nesting history. METHODSMojolicious::Routes::Match inherits all methods from Mojo::Base and implements the following new ones. find $match->find(Mojolicious::Controller->new, {method => 'GET', path => '/'});
Match controller and options against "root" to find an appropriate "endpoint". path_for my $info = $match->path_for;
my $info = $match->path_for(foo => 'bar');
my $info = $match->path_for({foo => 'bar'});
my $info = $match->path_for('named');
my $info = $match->path_for('named', foo => 'bar');
my $info = $match->path_for('named', {foo => 'bar'});
Render matching route with parameters into path. SEE ALSOMojolicious, Mojolicious::Guides, <https://mojolicious.org>.
|