GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Mojolicious::Routes(3) User Contributed Perl Documentation Mojolicious::Routes(3)
 

Mojolicious::Routes - Always find your destination with routes

  use Mojolicious::Routes;
  # Simple route
  my $r = Mojolicious::Routes->new;
  $r->route('/')->to(controller => 'blog', action => 'welcome');
  # More advanced routes
  my $blog = $r->under('/blog');
  $blog->get('/list')->to('blog#list');
  $blog->get('/:id' => [id => qr/\d+/])->to('blog#show', id => 23);
  $blog->patch(sub { shift->render(text => 'Go away!', status => 405) });

Mojolicious::Routes is the core of the Mojolicious web framework.
See Mojolicious::Guides::Routing for more.

These placeholder types are available by default.

  $r->get('/article/<id:num>');
Placeholder value needs to be a non-fractional number, similar to the regular expression "([0-9]+)".

Mojolicious::Routes inherits all attributes from Mojolicious::Routes::Route and implements the following new ones.

  my $classes = $r->base_classes;
  $r          = $r->base_classes(['MyApp::Controller']);
Base classes used to identify controllers, defaults to Mojolicious::Controller and Mojolicious.

  my $cache = $r->cache;
  $r        = $r->cache(Mojo::Cache->new);
Routing cache, defaults to a Mojo::Cache object.

  my $conditions = $r->conditions;
  $r             = $r->conditions({foo => sub {...}});
Contains all available conditions.

  my $hidden = $r->hidden;
  $r         = $r->hidden(['attr', 'has', 'new']);
Controller attributes and methods that are hidden from router, defaults to "attr", "has", "new" and "tap".

  my $namespaces = $r->namespaces;
  $r             = $r->namespaces(['MyApp::Controller', 'MyApp']);
Namespaces to load controllers from.
  # Add another namespace to load controllers from
  push @{$r->namespaces}, 'MyApp::MyController';

  my $shortcuts = $r->shortcuts;
  $r            = $r->shortcuts({foo => sub {...}});
Contains all available shortcuts.

  my $types = $r->types;
  $r        = $r->types({lower => qr/[a-z]+/});
Registered placeholder types, by default only "num" is already defined.

Mojolicious::Routes inherits all methods from Mojolicious::Routes::Route and implements the following new ones.

  $r = $r->add_condition(foo => sub {...});
Register a condition.
  $r->add_condition(foo => sub {
    my ($route, $c, $captures, $arg) = @_;
    ...
    return 1;
  });

  $r = $r->add_shortcut(foo => sub {...});
Register a shortcut.
  $r->add_shortcut(foo => sub {
    my ($route, @args) = @_;
    ...
  });

  $r = $r->add_type(foo => qr/\w+/);
  $r = $r->add_type(foo => ['bar', 'baz']);
Register a placeholder type.
  $r->add_type(lower => qr/[a-z]+/);

  $r->continue(Mojolicious::Controller->new);
Continue dispatch chain and emit the hook "around_action" in Mojolicious for every action.

  my $bool = $r->dispatch(Mojolicious::Controller->new);
Match routes with "match" and dispatch with "continue".

  $r = $r->hide('foo', 'bar');
Hide controller attributes and methods from router.

  my $bool = $r->is_hidden('foo');
Check if controller attribute or method is hidden from router.

  my $route = $r->lookup('foo');
Find route by name with "find" in Mojolicious::Routes::Route and cache all results for future lookups.

  $r->match(Mojolicious::Controller->new);
Match routes with Mojolicious::Routes::Match.

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
2018-11-28 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.