0
在我的Symfony控制器我想呈現鬍鬚PHP模板,一個主義實體:渲染主義實體模型小鬍子PHP模板
// The Doctrine entity, a dump($user) shows the correct entity
$user = $this->get('x_service')->getUserById($id);
$templateFile = file_get_contents('.../path/to/file'); // tested, it works
$mustache = new \Mustache_Engine();
$renderedTemplate = $mustache->render($templateFile, array('user' => $user));
模板文件看起來是這樣的:
<p>
User name: {{ user.name }}
</p>
但該變量未放入模板中。它只顯示「用戶名:」字符串。我也嘗試沒有關聯數組:
$renderedTemplate = $mustache->render($templateFile, $user);
// the template file:
<p>
User name: {{ name }}
</p>
這也沒有工作。
然而,當我把另一個變量與關聯數組,這並不表明:
$renderedTemplate = $mustache->render($templateFile, array('user' => $user, 'meh' => 'hem'));
// the template file:
<p>
User name: {{ name }} <- still no output
Meh: {{ meh }} <- this does give output
</p>
一些詳細信息:我只是想呈現在我的控制器這個小小鬍子模板。對於控制器響應,我使用Twig。這是因爲我只是重複使用前端Mustache.js模板。
編輯
當我讀到the manual,它應該工作給予模型中的一個對象:
小鬍子想要一個數組,給出一個「實體」。建議保溼數組,每個:http://doctrine-orm.readthedocs.io/en/latest/reference/dql-doctrine-query-language.html#array-hydration – bishop
對於你的編輯:它不會工作,如果你的用戶屬性不是「公共」的。 TWIG稱之爲吸氣劑,我不知道小鬍子是否也這樣做。嘗試'{{user.getName}}' – LP154
@ LP154那就做了。我很習慣私人類變量,我沒有注意到。你可以發佈這個答案嗎? – BigJ