小智 17
我已经将Dancer(github)用于我的一些小型项目.它非常优雅,很容易快速完成任务.它的灵感来自Ruby框架Sinatra.
它很简单:
#!/usr/bin/env perl
use Dancer;
get '/' => sub {
'Hello world!'
};
dance;
Run Code Online (Sandbox Code Playgroud)
我最喜欢的Perl Web应用程序框架是CGI :: Application.它非常轻量级(您可以继承的单个基类),并且处理Web应用程序编程的重复性任务所需的最低限度,以及其他方式.您可以在正式的MVC设计中使用它,或者根据您的需要做更特别的事情.
它有一个简单的插件架构,允许您轻松添加对 Template Toolkit (开箱即用的HTML :: Template)会话, 身份验证, JSON, 流媒体等的支持.
最后,为了创建类似REST的友好URL,有一个优秀的CGI :: Application :: Dispatch,它为基于URL的调度提供了一个强大的基于规则的引擎.
此外,尽管它的名称,它在mod_perl 1和2下无缝地工作.
我想你会发现Squatting
所有那些盒子都打勾!
我用它写了很多小的RESTful应用程序.它非常适合这种情况,并且很高兴与您合作.
这里有一些更多的链接:
这是一个简单的"你好世界!" 例:
use strict;
use warnings;
{
package Simple;
use base 'Squatting';
}
{
package Simple::Controllers;
use Squatting ':controllers';
our @C = (
C(
Index => [ '/' ],
get => sub {
my ($self) = @_;
my $v = $self->v;
$v->{hello} = 'Hello World!';
$self->render( 'hello' );
},
),
);
}
{
package Simple::Views;
use Squatting ':views';
use HTML::AsSubs;
our @V = (
V( 'html',
layout => sub {
my ($self, $v, @yield) = @_;
html(
head( title('Simple web app') ),
body( @yield ),
)->as_HTML;
},
hello => sub {
my ($self, $v) = @_;
p( $v->{hello} );
},
),
);
}
Run Code Online (Sandbox Code Playgroud)
在相关位置保存为Simple.pm,并确保以下内容位于Apache配置中:
<Perl>
use Simple 'On::MP20';
Simple->init
</Perl>
<Location />
SetHandler perl-script
PerlHandler Simple->mp20
</Location>
Run Code Online (Sandbox Code Playgroud)
你走吧!
在这里,我还要提及一些适合该法案的其他框架:
我说"传递提及",因为我没有使用其中任何一个,我不确定是否使用mod_perl2工作(开箱即用).仍PSGI / Plack
指日可待,这将不会太久的问题;-)
/ I3az /
归档时间: |
|
查看次数: |
12574 次 |
最近记录: |