【发布时间】:2012-12-27 23:01:39
【问题描述】:
我正在使用 Mustache for php 来呈现我的网页。我一直在使用github 的开发分支中的代码,并发现了一些有趣的操作方法。例如,我知道可以通过为它们定义一个辅助函数来动态加载部分。然而,我似乎找不到的是一种像这样嵌套标签的方法:
{{article.{{page.name}}}}
在某种辅助函数或高阶函数的帮助下这是否可能?
【问题讨论】:
标签: nested mustache.php
我正在使用 Mustache for php 来呈现我的网页。我一直在使用github 的开发分支中的代码,并发现了一些有趣的操作方法。例如,我知道可以通过为它们定义一个辅助函数来动态加载部分。然而,我似乎找不到的是一种像这样嵌套标签的方法:
{{article.{{page.name}}}}
在某种辅助函数或高阶函数的帮助下这是否可能?
【问题讨论】:
标签: nested mustache.php
您可以使用 Lambda 来实现类似的目标。引用Mustache.php's wiki:
当值是可调用的(例如匿名函数)时,将调用可调用对象并传递文本块。
所以,在你的小胡子模板中,以下内容:
{{#article_field}}{{page.name}}{{/article_field}}
使用这样的视图类:
class View_Page {
public $_article;
public function article_field()
{
return function($string)
{
return $this->_article[$string];
}
}
}
将输出名称位于page.name 属性值中的article 字段。
前往Mustache.php's official wiki 阅读有关 Lambda 和可调用对象的更多信息。
【讨论】: