我很抱歉这个愚蠢的问题,但是我没理解!
我想用Mustache构建一个简单的网站前端,就像这个例子一样: http://detector.dmolsen.com/demo/mustache/
如果我的网站只有一个页面 - 一切都很好: 我创建了我的Mustache对象......依此类推
// use .html instead of .mustache for default template extension
$options = array('extension' => '.html');
// Template and Partial - Filesystem Loader
$mustache = new Mustache_Engine(array(
'loader' => new Mustache_Loader_FilesystemLoader(__DIR__.'/views', $options),
'partials_loader' => new Mustache_Loader_FilesystemLoader(__DIR__.'/views/partials/'.$GLOBALS['comparedDeviceInformation']['Device Class'], $options),
));
之后我渲染我的索引模板:
// render index.html template
echo $mustache->render('index', $data);
这完全没问题! 现在,在这个'index.html'模板文件中,我不想链接到另一个模板,例如home.html的
<a href="?????">home</a>
我如何处理网址?我不能使用模板的名称?那么如何为我的网站获得一致的URL结构
非常感谢!
答案 0 :(得分:0)
Mustache本身只是一个模板引擎...它不关心你拥有什么URL,或者你有多少PHP文件,或者除了将模板更改为HTML之外的任何其他内容。对于所有其他事情,您有几种选择。最简单的方法是为每个要处理的URL提供一个PHP文件。正如你所说,这并不理想:)
我建议检查一个轻量级的PHP框架。它们处理路由(将URL映射到呈现的页面)并为后端提供更多结构。 Here is a list of some of the ones Mustache.php plays nice with。为了您的目的,Silex或Slim可能是一个不错的选择。