名称

Mojolicious::Routes-始终使用路线找到目的地

简介

使用Mojolicus::路线;#简单路线my$r=Mojolicious::Routes->new;$r->any('/')->to(controller=>'blog',action=>'welcome');#更先进的路线我的$blog=$r->在('/blog')下;$blog->get('/list')->to('blog#list');$blog->get('/:id=>[id=>qr/\d+/])->to('blog#show',id=>23);$blog->patch(sub($c){$c->render(text=>'Go away!',status=>405)});

描述

Mojolicious::路线Mojolicious公司web框架。

请参见Mojolicious::辅助线::路由获取更多信息。

类型

默认情况下,这些占位符类型可用。

号码

$r->get('/article/<id:num>');

占位符值需要是非小数,类似于正则表达式([0-9]+).

属性

Mojolicious::路线继承所有属性Mojolicious::路由::路由并实现了以下新功能。

基本类(_C)

my$classes=$r->base_classes;$r=$r->base_classes([“我的应用程序::控制器”]);

用于标识控制器的基类,默认为Mojolicious::控制器Mojolicious公司.

隐藏物

我的$cache=$r->cache;$r=$r->cache(Mojo::cache->new);

路由缓存,默认为Mojo::缓存对象。

条件

我的$conditions=$r->条件;$r=$r->条件({foo=>sub{…}});

包含所有可用条件。

名称空间

my$namespaces=$r->namespaces;$r=$r->名称空间([“MyApp::Controller”,“MyApp”]);

从中加载控制器的命名空间。

#添加另一个命名空间以从中加载控制器push@{$r->namespaces},“MyApp::MyController”;

快捷方式

我的$shortcuts=$r->快捷方式;$r=$r->快捷方式({foo=>sub{…}});

包含所有可用的快捷方式。

类型

我的$types=$r->类型;$r=$r->类型({lower=>qr/[a-z]+/});

仅默认情况下,注册的占位符类型“数字”已定义。

方法

Mojolicious::路线从继承所有方法Mojolicious::路由::路由并实现了以下新功能。

添加条件

$r=$r->add_condition(foo=>sub($route,$c,$captures,$arg){…});

注册条件。

$r->add_condition(foo=>sub($route,$c,$captures,$arg){...返回1;});

add_shortcut(添加快捷方式)

$r=$r->add_shortcut(foo=>sub($route,@args){…});

注册快捷方式。

$r->add_shortcut(foo=>sub($route,@args){…});

添加类型(_T)

$r=$r->add_type(foo=>qr/\w+/);$r=$r->add_type(foo=>['bar','baz']);

注册占位符类型。

$r->add_type(下部=>qr/[a-z]+/);

持续

$r->continue(Mojolicious::Controller->new);

继续调度链并释放挂钩Mojolicious中的“around_action”每一个动作。

派遣

my$bool=$r->dispatch(Mojolicious::Controller->new);

将路线与匹配“匹配”并发送“继续”.

查找

my$route=$r->查找('foo');

通过名称查找路线Mojolicious::Routes::Route中的“find”并缓存所有结果以供将来查找。

比赛

$r->match(Mojolicus::Controller->new);

将路线与匹配Mojolicious::路由::匹配.

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicious.org.