名称

Mojolicious::Lite-Micro实时web框架

简介

#自动启用“strict”、“warnings”、“utf8”和Perl 5.16功能使用Mojolicious::Lite签名;#带占位符的路线获取“/:foo”=>sub($c){my$foo=$c->param('foo');$c->render(text=>“来自$foo的您好”);};#启动Mojolicios命令系统应用程序->启动;

描述

Mojolicious::精简是一种基于Mojolicious公司,仅由十几个Perl函数组成。

在Perl 5.20+上,您还可以使用-签名启用支持的标志子程序签名.

使用Mojolicious::Lite签名;获取“/:foo”=>sub($c){my$foo=$c->param('foo');$c->render(text=>“来自$foo的您好”);};应用程序->启动;

请参见Mojolicious::指南::教程获取更多!

增长的

While期间Mojolicuis::指南::成长将为您详细介绍如何种植Mojolicious::精简将原型转换为结构良好的Mojolicious公司应用程序,这里我们收集了一些片段,很好地说明了它们之间的相似性。

路线

功能“获得”,“发布”朋友们都有相同的方法。

#Mojolicious::精简获取'/foo'=>sub($c){$c->render(text=>“你好,世界!”);};#Mojolicious公司子启动($self){my$routes=$self->路由;$routes->get('/foo'=>sub($c){$c->render(text=>“你好,世界!”);});}

应用程序

可以使用函数访问的应用程序对象“应用程序”是传递给启动方法。

#Mojolicious::精简应用程序->最大请求大小(16777216);#Mojolicious公司子启动($self){$self->max_request_size(16777216);}

插件

而不是“插件”函数,您只需使用该方法Mojolicious中的“插件”.

#Mojolicious::精简插件“Config”;#Mojolicious公司子启动($self){$self->plugin('Config');}

助手

类似于插件,而不是“助手”函数,您只需使用该方法Mojolicus中的“助手”.

#Mojolicious::精简助手二=>sub($c){返回1+1;};#莫乔利奇子启动($self){$self->helper(两个=>sub($c){返回1+1;});}

低于

我们可以使用方法构建带有嵌套路由的树,而不是顺序函数调用,这样可以更好地说明路由如何在内部工作。

#Mojolicious::精简在“/foo”下;get'/bar'=>sub($c){…};#Mojolicious公司子启动($self){my$routes=$self->路由;我的$foo=$routes->在('/foo')下;$foo->get('/bar'=>sub($c){…});}

功能

Mojolicious::精简实现以下自动导出的功能。

任何

my$route=any'/:foo'=>sub($c){…};my$route=any'/:foo'=>sub($c){…}=>'name';my$route=any'/:foo'=>{foo=>'bar'}=>sub($c){…};my$route=any'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=any['GET','POST']=>'/:foo'=>sub($c){…};my$route=any['GET','POST']=>'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=any['GET','POST']=>'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“any”,匹配任何列出的HTTP请求方法或全部。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

应用程序

我的$app=app;

返回Mojolicious::精简application对象,它是Mojolicious公司.

#使用所有可用的属性和方法应用程序->日志->级别(“错误”);app->默认值(foo=>“bar”);

德尔

my$route=del'/:foo'=>sub($c){…};my$route=del'/:foo'=>sub($c){…}=>'name';my$route=del'/:foo'=>{foo=>‘bar’}=>sub($c){…};my$route=del'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=del'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“删除”,仅匹配删除请求。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

得到

my$route=get'/:foo'=>sub($c){…};my$route=get'/:foo'=>sub($c){…}=>'name';my$route=get'/:foo'=>{foo=>'bar'}=>sub($c){…};my$route=get'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=get'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“get”,仅匹配GET(获取)请求。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

组{…};

启动新的路由组。

帮手

helper foo=>sub($c,@args){…};

使用添加新助手Mojolicious中的“助手”.

钩子after_dispatch=>sub($c){…};

与共享代码Mojolicious中的“钩子”.

选项

my$route=options'/:foo'=>sub($c){…};my$route=options'/:foo'=>sub($c){…}=>'name';my$route=options'/:foo'=>{foo=>'bar'}=>sub($c){…};my$route=options'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=options'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“选项”,仅匹配选项请求。请参见Mojolicuis::指南::教程Mojolicious::辅助线::路由了解更多信息。

补丁

my$route=patch'/:foo'=>sub($c){…};my$route=patch'/:foo'=>子($c){…}=>“名称”;my$route=patch'/:foo'=>{foo=>‘bar’}=>sub($c){…};my$route=patch'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=patch'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“补丁”,仅匹配补丁请求。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

插件

插件SomePlugin=>{foo=>23};

加载插件Mojolicious中的“插件”.

邮递

my$route=post'/:foo'=>sub($c){…};my$route=post'/:foo'=>sub($c){…}=>'name';my$route=post'/:foo'=>{foo=>'bar'}=>sub($c){…};my$route=post'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=post'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“post”,仅匹配邮政请求。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

my$route=put’/:foo’=>sub($c){…};my$route=put“/:foo”=>sub($c){…}=>“name”;my$route=put'/:foo'=>{foo=>'bar'}=>sub($c){…};my$route=put’/:foo’=>[foo=>qr/\w+/]=>sub($c){…};my$route=put’/:foo’=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“put”,仅匹配PUT(输出)请求。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

在下面

my$route=sub($c){…}下;my$route=under“/:foo”=>sub($c){…};my$route=在“/:foo”=>{foo=>“bar”}下;my$route=在'/:foo'=>[foo=>qr/\w+/]下;my$route=under'/:foo'=>(agent=>qr/Firefox/);my$route=在[format=>['json','yaml']]下;

使用生成嵌套路由Mojolicious::Routes::Route中的“under”,将自动向其附加所有以下路由。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

网络套接字

my$route=websocket'/:foo'=>sub($c){…};my$route=websocket'/:foo'=>sub($c){…}=>'name';my$route=websocket'/:foo'=>{foo=>'bar'}=>sub($c){…};my$route=websocket'/:foo'=>[foo=>qr/\w+/]=>sub($c){…};my$route=websocket'/:foo'=>(agent=>qr/Firefox/)=>sub($c){…};

使用生成路由Mojolicious::Routes::Route中的“网络套接字”,仅匹配WebSocket握手。请参见Mojolicious::指南::教程Mojolicious::辅助线::路由了解更多信息。

属性

Mojolicious::精简继承所有属性Mojolicious公司.

方法

Mojolicious::精简从继承所有方法Mojolicious公司.

另请参阅

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