Perl Catalyst/TT中的内联模板
我想知道是否有人知道如何在Catalyst中的模块的数据部分内联模板(我想使用模板工具包),就像在Mojolicious中一样,在Mojolicious中,您可以这样做(从文档中):Perl Catalyst/TT中的内联模板,perl,catalyst,Perl,Catalyst,我想知道是否有人知道如何在Catalyst中的模块的数据部分内联模板(我想使用模板工具包),就像在Mojolicious中一样,在Mojolicious中,您可以这样做(从文档中): #/bar 获取“/bar”=>sub{ 我的$self=shift; $self->stash(一个=>23); $self->render('baz',two=>24); }; __资料__ @@baz.html.ep 神奇的数字是和。 虽然我以后可能会将所有内容移动到一个单独的文件中,但在编写代码时,它使维
#/bar
获取“/bar”=>sub{
我的$self=shift;
$self->stash(一个=>23);
$self->render('baz',two=>24);
};
__资料__
@@baz.html.ep
神奇的数字是和。
虽然我以后可能会将所有内容移动到一个单独的文件中,但在编写代码时,它使维护更加容易
谢谢
西蒙概念验证:
package Foo::Bar::Controller::Root;
use Moose;
use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller' }
use Inline::Files;
use Template;
__PACKAGE__->config(namespace => '');
sub end :ActionClass('RenderView') {
my ($self, $c) = @_;
my $in = readline $c->stash->{template};
my $tt = Template->new;
my $out;
$tt->process(\$in, $c->stash, \$out) or die $tt->error;
$c->response->body($out);
}
sub bar :Path {
my ($self, $c) = @_;
$c->stash(template => 'BAZ', one => 23, two => 24);
}
__PACKAGE__->meta->make_immutable;
1;
__END__
__BAZ__
The magic numbers are [% one %] and [% two %].
它很管用,但我不能推荐它。这是对MVC原则的严重违反。Catalyst的基础是。概念证明:
package Foo::Bar::Controller::Root;
use Moose;
use namespace::autoclean;
BEGIN { extends 'Catalyst::Controller' }
use Inline::Files;
use Template;
__PACKAGE__->config(namespace => '');
sub end :ActionClass('RenderView') {
my ($self, $c) = @_;
my $in = readline $c->stash->{template};
my $tt = Template->new;
my $out;
$tt->process(\$in, $c->stash, \$out) or die $tt->error;
$c->response->body($out);
}
sub bar :Path {
my ($self, $c) = @_;
$c->stash(template => 'BAZ', one => 23, two => 24);
}
__PACKAGE__->meta->make_immutable;
1;
__END__
__BAZ__
The magic numbers are [% one %] and [% two %].
它很管用,但我不能推荐它。这是对MVC原则的严重违反。Catalyst是建立在MVC原则之上的。我不认为这是对MVC原则的滥用。另一方面,我也不认为这是一个特别好的主意:)早期/小项目黑客,是的。作为一种标准的做事方式,不太好。非常感谢。同时,我还试用了Data::Section::Simple。我同意-在试用之后-在试用的早期阶段这是很好的,但是我不想对任何超过10行的模板保持这种方式。我不认为这是对MVC原则的滥用。另一方面,我也不认为这是一个特别好的主意:)早期/小项目黑客,是的。作为一种标准的做事方式,不太好。非常感谢。同时,我还试用了Data::Section::Simple。我同意-在试用之后-在试用的早期阶段这是很好的,但是我不想对任何超过10行的模板保持这种方式。