加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 模板工具包包括钩子?

发布时间:2020-12-16 06:18:42 所属栏目:大数据 来源:网络整理
导读:是否存在某种类型的钩子,当我包含模板并且我可以在其中更改模板的路径时将执行该钩子? 例如 [% INCLUDE test %] 我想将’test’的路径改为’AE / test.tt’或’FR / test.tt’. 我们的想法是更改模板的路径,而不更改包含所在的模板. 解决方法 执行此操作的
是否存在某种类型的钩子,当我包含模板并且我可以在其中更改模板的路径时将执行该钩子?

例如

[% INCLUDE test %]

我想将’test’的路径改为’AE / test.tt’或’FR / test.tt’.

我们的想法是更改模板的路径,而不更改包含所在的模板.

解决方法

执行此操作的常规方法是在构造Template对象时使用INCLUDE_PATH参数:

my $tt = Template->new({INCLUDE_PATH => 'AE'});

构建一个新的Template实例并不是什么大问题,所以没有强大的理由不在你处理模板时动态地创建一个新的模板实例,但是,如果你处于一个持久的环境中并且真的需要性能,总是可以选择创建多个:

my %tt;
$tt{ae} = Template->new({INCLUDE_PATH => 'AE'});
$tt{fr} = Template->new({INCLUDE_PATH => 'FR'});
# ... code ... code ... code ...
$lang = 'ae';
# ... code ... code ... code ...
$tt{$lang}->process($template_name);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读