//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读取。