1
任何人都可以请解释如何创建对象并从胡须模板调用它的方法吗?从胡子访问回调的方法
我想添加一些回调胡子的帮手:
$options['helpers'] = array(
'Post' => array('\Classes\Post', 'getObject')
);
下面是一个简单类:
namespace Classes;
class Post
{
public static function getObject()
{
return new Post(\Request::postId());
}
public function post()
{
$post = new \stdClass;
$post->title = 'Title';
$post->content = 'Content';
return $post;
}
public function comments()
{
$comment = new \ArrayObject();
$comment[0] = new stdClass;
$comment[0]->name = 'David';
$comment[0]->content = 'I\'m David';
$comment[1] = new stdClass;
$comment[1]->name = 'Mary';
$comment[1]->content = 'I\'m Mary';
$comment[2] = new stdClass;
$comment[2]->name = 'Sana';
$comment[2]->content = 'I\'m Sana';
return $post;
}
}
而且在post.Mustache文件中使用它:
<h1>{{Post.title}}</h1>
<p>{{Post.content}}</p>
<hr>
{{#Post.comments}}
<b>{{name}}</b> Said: {{content}}<br><br>
{{/Post.comments}}
但是,看起来这不是以正确的方式访问链式方法和属性?!
谢谢贾斯汀以上的答案,以及你的大胡子实施。由于我们特殊的体系结构,原则和限制,我们不能将对象或lambda添加到Mustache中,数组回调是我们唯一的选择。因此,我们将做出决定,要么胡须叉或实施我们自己的模板引擎,以满足我们的需求。再次感谢您的大胡子实施; { – David