![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
相关问题
请高手帮忙。。
如何使用smarty生成一个静态页面呢??
提问者:风在芯中 08-17 11:11
答复
简单的说吧,smarty开启静态缓存时,是会生成html静态页面,此时可以不执行任何逻辑,只要首先判断是否有缓存生成,有的话直接输出,然后直接停止脚本,这样效率是非常高的,相当于直接打开静态页面,
不开启静态缓存时,那就会生成模板编译文件,把所有smarty标签转换成echo变量的形式,并不能 提高任何效率,但也不会增加太多额外的执行时间,
“smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定smarty的cache属性为true 时,在smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。”
例子如下:
smarty中有一个获取模板页内容方法fetch(), 它的声明原形是这样的:
第一个参数为模板名称, 第二个参数为缓存的id, 第三个参数为编译id, 第四个参数为是否显示模板内容. 生成静态页我们就需要用到这个方法.
display();
ob_get_contents();
ob_end_clean();
*/
$content = $smarty->fetch(\'模板名称.tpl\', null, null, false);
//下面将内容写入至一个静态文件
$fp = fopen(\'news.html\', \'w\');
fwrite($fp, $content);
fclose($fp);
//OK, 到这里这个news.html静态页就生成了, 你可以处理你下一步的工作了
?>

