名称
Mojolicus::路线-总是用路线找到你的目的地
简介
使用Mojolicious::Routes;#简单路线my$r=移动路线::路线->新路线;$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([‘MyApp::Controller’]);
用于标识控制器的基类,默认为Mojolicious::控制器和Mojolicious公司.
隐藏物
我的$cache=$r->cache;$r=$r->cache(Mojo::cache->new);
路由缓存,默认为Mojo::缓存对象。
条件
我的$条件=$r->条件;$r=$r->条件({foo=>sub{…}});
包含所有可用条件。
名称空间
my$namespaces=$r->namespaces;$r=$r->名称空间([“MyApp::Controller”,“MyApp”]);
从中加载控制器的命名空间。
#添加另一个命名空间以从中加载控制器按@{$r->namespaces},“MyApp::MyController”;
快捷方式
我的$shortcuts=$r->快捷方式;$r=$r->快捷方式({foo=>sub{…}});
包含所有可用的快捷方式。
类型
我的$types=$r->类型;$r=$r->类型({lower=>qr/[a-z]+/});
仅默认情况下,注册的占位符类型“num”(数字)已定义。
方法
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(Mojolicious::Controller->new);
将路线与匹配Mojolicious::路由::匹配.
另请参阅
Mojolicious公司,Mojolicious::指南,https://mojolicious.org.