1
我目前正在將一個項目從舊的自定義基於XML的模板引擎遷移到Twig。爲了簡化轉換,我認爲能夠從舊引擎內部渲染Twig宏,以便可以使用Twig構建新的小部件,並根據需要在兩處運行。從PHP呈現Twig宏?
我能想到這樣做的唯一的辦法是產生一些細枝源代碼,看起來像這樣:
{% import 'macros.twig' as m %}
{{ m.widget(...) }}
然後不喜歡
eval('?>'.$twig->compileSource($twig->getLoader()->getSource($name), $name));
一些瘋狂這似乎慢,危險,而且脆弱。有沒有更好的方法來使用Twig API?
'loadTemplate'會給我一個編譯類的實例嗎?所以我基本上只需要調用'get {$ macroName}'?我不確定你的意思是「不會參加'TemplateInterface'」嗎? – mpen
簡單的好習慣;) –