模块:Mojolicious公司时间:渲染器
起源:Mojo::基础

名称

Mojolicious::Renderer-生成动态内容

简介

使用Mojolicious::Renderer;my$renderer=Mojolicious::renderer->new;push@{$renderer->classes},“MyApp::Controller::Foo”;按@{$renderer->paths},'/home/sri/templates';

描述

Mojolicuis::渲染器是标准的Mojolicious公司渲染器。

请参见Mojolicious::辅助线::渲染了解更多信息。

属性

Mojolicuis::渲染器实现以下属性。

隐藏物

我的$cache=$renderer->缓存;$renderer=$renderer->缓存(Mojo::缓存->新建);

渲染器缓存,默认为Mojo::缓存对象。

my$classes=$renderer->类;$renderer=$renderer->类(['main']);

用于查找模板的类数据具有的节Mojo::加载程序,第一个具有最高优先级,默认为主要的。只使用正好具有两个扩展名的文件,如索引.html.ep。请注意,对于要检测的模板,这些类需要在之前加载并添加“预热”通常在应用程序启动期间自动发生。

#在DATA部分添加另一个带有模板的类push@{$renderer->classes},“Mojolicious::Plugin::Fun”;#在DATA部分添加另一个具有模板且优先级更高的类unshift@{$renderer->classes},“Mojolicus::Plugin::MoreFun”;

压缩

my$bool=$renderer->压缩;$renderer=$renderer->压缩($bool);

尝试协商压缩动态生成的响应内容,并gzip公司自动压缩,默认为true。

默认格式(_F)

my$default=$renderer->default_format;$renderer=$renderer->default_format('html’);

如果格式未在存储中设置,默认为html格式。请注意,将默认值更改为html格式不建议使用,因为它可能会破坏,例如,带有捆绑模板的插件。

默认处理程序

我的$default=$renderer->defaulthandler;$renderer=$renderer->default_handler('ep');

在自动检测不起作用的情况下,用于呈现的默认模板处理程序,如内联模板。

编码

my$encoding=$renderer->编码;$renderer=$renderer->编码('koi8-r');

如果设置,将对生成的内容进行编码,默认为UTF-8型。请注意,许多渲染器,例如Mojolicious::插件::EPrender还可以使用此值确定模板文件在处理之前是否应该解码。

处理程序

my$handlers=$renderer->handlers;$renderer=$renderer->处理程序({epl=>sub{…}});

已注册的处理人员。

助手

我的$helpers=$renderer->helpers;$renderer=$renderer->helpers({url_for=>sub{…}});

注册助手。

最小压缩大小

my$size=$renderer->min_compress_size;$renderer=$renderer->min_compress_size(1024);

如果启用,则使用压缩所需的最小输出大小(以字节为单位)默认为860.

路径

我的$paths=$renderer->路径;$renderer=$renderer->路径(['/home/sri/templates']);

要在其中查找模板的目录,第一个目录具有最高优先级。

#添加另一个“模板”目录按@{$renderer->paths},'/home/sri/templates';#添加另一个具有更高优先级的“模板”目录取消移动@{$renderer->paths},'/home/sri/themes/blue/templates';

方法

Mojolicuis::渲染器从继承所有方法Mojo::基础并实现了以下新功能。

接受

my$all=$renderer->accepts(Mojolicus::Controller->new);my$best=$renderer->接受(Mojolicious::Controller->new,'html,'json');

为选择最佳可能的表示Mojolicious::控制器对象来自格式 GET(获取)/邮政参数,格式存储值,或接受请求头,如果检测不到首选项,则默认返回第一个扩展名。

添加处理程序

$renderer=$renderer->add_handler(epl=>sub{…});

注册处理程序。

$renderer->add_handler(foo=>sub($renderer,$c,$output,$options){...$$output=“你好,世界!”;});

添加助手(_H)

$renderer=$renderer->add_helper(url_for=>sub{…});

注册助手。

$renderer->add_helper(foo=>sub($c,@args){...});

获取数据模板

my$template=$renderer->getdata_template({template=>“foo/bar”,format=>“html”,handler=>“epl”});

返回a数据节模板来自“类”对于具有的选项哈希引用模板,格式,变体处理程序值,或未定义如果找不到模板,通常由处理程序使用。

获取助手

my$helper=$renderer->gethelper('url_for');

通过全名获取助手,为前缀动态生成助手,或返回未定义如果找不到助手或前缀。生成的帮助程序返回一个代理对象,该对象包含当前控制器对象,并且可以在其中调用嵌套的帮助程序。

提供

my($output,$format)=$renderer->render(Mojolicious::Controller->new);

通过其中一个渲染器渲染输出。请参见Mojolicious::Controller中的“render”以获得更人性化的界面。

回应

my$bool=$renderer->response(Mojolicious::Controller->new,$output,$format);my$bool=$renderer->响应(Mojolicious::Controller->new,$output,$format,$status);

最终确定动态生成的响应内容和“压缩”如果可能的话。

模板(_F)

my$name=$renderer->template_for(Mojolicious::Controller->new);

返回的默认模板名称Mojolicious::控制器对象,或未定义如果无法生成名称。

模板处理程序

my$handler=$renderer->template_handler({template=>“foo/bar”,format=>“html”});

带有的选项哈希引用的返回处理程序模板,格式变体值,或未定义如果找不到处理程序。

模板名称

my$template=$renderer->模板名称({template=>“foo/bar”,format=>“html”,handler=>“epl”});

使用返回选项哈希引用的模板名称模板,格式,变体处理程序值,或未定义如果找不到模板,通常由处理程序使用。

模板路径

my$path=$renderer->模板路径({template=>“foo/bar”,format=>“html”,handler=>“epl”});

使用返回选项哈希引用的完整模板路径模板,格式,变体处理程序值,或未定义如果文件不存在于“路径”,通常由处理程序使用。

热身

$renderer->预热;

准备模板“类”供将来使用。

另请参阅

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