谈一下PHP站点页面静态化的原理

//mot原创 转载请附上博客地址,3Q

涉及到PHP站点静态化,用的最多的都是ob来生成静态页面。例如

if( !file_exists( 'cache/home_index.html')) {
	$content = $model->get_all_content();
	ob_start();
	include_once template('home/index');
        //或者是MVC框架里的 render/view渲染视图之类的 这里简化了
	$content = ob_get_contents();
	ob_end_clean();
	file_put_contents('cache/home_index.html', $content);
}

include_once template('cache/home_index.html');
//或者直接include_once读取html静态页面;
当然 有些站点 头部可能有用户个人信息 争对不同类别用户不同菜单的情况,这样的话可以用模板嵌套layout之类的方法,当然涉及到正文部分,直接include_once生成在cache目录下面的静态文件就好了。


反过来 要更新cache的话,直接删除cache目录下面的文件即可。

一般简单的静态化就是这么做的。CI之类的轻量级框架这种URI其实就很漂亮了, 但是有些框架如果后缀是.php页面还可以用htaccess写成伪静态页面,配合cache,就可以让站点更像静态站点,同时layout分离出来了动态部分,减少部分sql读取。

你可能感兴趣的:(谈一下PHP站点页面静态化的原理)