我选择了 PHPTAL(在来自 PHPMustache 之后),我正在尝试将一个 ViewModel 类 Mustache-style 注入我的模板中。让我解释 ..
控制器
$viewmodel = new \Viewmodel\Home();
$template = new \PHPTAL('application/views/home.html');
$template->viewmodel = $viewmodel;
echo $template->execute();
home.html <- 模板
<p>Hello <strong>${viewmodel/test}</strong>.</p>
Home.php <- viewmodel 类
namespace Viewmodel;
class Home {
function test() {
return "world";
}
}
以上方法有效,但如何避免在每个变量引用前加上“viewmodel/”?
使用 Mustache,您的变量上下文可以是单个类。例如。echo $template->render($html, $viewmodel);
. 不需要前缀。所有的肉都在一个松散耦合的视图模型中。我想用 PHPTAL 强制执行这种行为,而不必将整个类显式分配给变量名。