看了一些开源系统的,简单的总结一下php的模板及静态原理。
先贴代码,再做解释。
index.php
template.php
代码解释见注释。
续:[url]http://baiyuxiong.iteye.com/blog/796644[/url]
先贴代码,再做解释。
index.php
<?php
//如果已存在静态页面,直接读取并显示
if(file_exists('index.html'))
{
echo file_get_contents('index.html');
}
else
{
//这里把需要的变量都附好值
$var = "Hello,World.";
//开启输出缓存
ob_start();
//这里调用模板,模板里嵌入一些PHP标签,用来显示变量的值
require_once('template.php');
//这里得到输出缓存,也就是调用模板后,将来要显示到页面上的内容
$out = ob_get_contents();
//把要显示的内容保存成一个文件
file_put_contents('index.html',$out);
//输出
ob_end_flush();
}
template.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML</title>
</head>
<body>
<hr/>
<p>
<?php echo $var;?>
</p>
<hr/>
</body>
</html>
代码解释见注释。
续:[url]http://baiyuxiong.iteye.com/blog/796644[/url]
本文介绍了PHP中实现模板及静态化的具体方法。通过index.php文件判断是否存在静态页面,如果存在则直接显示;若不存在,则生成静态页面并显示。利用输出缓存、变量赋值和模板调用等功能实现了这一过程。
585

被折叠的 条评论
为什么被折叠?



