【问题标题】:Can I easily add new directives to Template Toolkit for Perl?我可以轻松地向 Template Toolkit for Perl 添加新指令吗?
【发布时间】:2011-06-20 09:11:43
【问题描述】:

如果通过插件系统添加函数和/或虚拟方法,我想将自己的指令添加到模板工具包。在不深入研究Template::Grammar 的情况下,这很容易实现吗?有没有我可以研究 CPAN 的例子?

【问题讨论】:

    标签: perl template-toolkit


    【解决方案1】:

    Template::Manual 中描述的MACRO directive 是否符合您的要求?

    【讨论】:

    • 几乎,但我想 MACRO 的局限性对我的问题提出了否定的答案,因为我正在寻求为指令实现自定义语法以启动。不过,我没有具体说明,所以这在技术上是正确的。
    【解决方案2】:

    就我个人而言,我发现扩展 TT 行为的最佳方法是将子引用推入 stash:

    $stash = { clever => \&do_something};
    

    【讨论】:

    • 可能不适合这个问题(自定义语法等),但一般来说是好的做法 - 具有可以轻松为 do_something() 编写测试的优点,同时避免尝试实现太多代码来自模板
    猜你喜欢
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    相关资源
    最近更新 更多