这是一个奇怪的问题。我正在尝试在 Twig 和一些 ViewModel 对象之间实现 1:1 的关系,以便 Twig 知道它的上下文并假设变量是对象上的方法。
例如,我有一个 Twig 模板和一个 ViewModel_Product。我可以这样做...
$template->render(array('product', $product));
...在模板中...
<p>{{ product.name }}</p>
然而,因为唯一会传递给模板的是模型,所以让用户为每个变量添加前缀似乎毫无意义。更好的用法是:
$template->render(array('viewModel', $product));
...和...
<p>{{ name }}</p>
我怎样才能做到这一点?