Mojolicious::Routes::Match - Find routes

NAME  SYNOPSIS  DESCRIPTION  ATTRIBUTES  endpoint  position  root  stack  METHODS  find  path_for  SEE ALSO 

NAME

Mojolicious::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};

DESCRIPTION

Mojolicious::Routes::Match finds routes in Mojolicious::Routes structures.

ATTRIBUTES

Mojolicious::Routes::Match implements the following attributes.

endpoint

my $route = $match−>endpoint;
$match = $match−>endpoint(Mojolicious::Routes::Route−>new);

The route endpoint that matched, usually a Mojolicious::Routes::Route object.

position

my $position = $match−>position;
$match = $match−>position(2);

Current position on the "stack", defaults to 0.

root

my $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.

METHODS

Mojolicious::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 ALSO

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.


Updated 2024-01-29 - jenkler.se | uex.se