静态生成不仅能大大减少数据查询与网页解析时间,而且对搜索引擎更为友好
LightPHP框架使用静态类的create( )方法实现静态生成,传入的参数为数组,他是以获取数据的访问路径为键,以生成缓存文件名为值组成的数组,形式如:create( array('访问路径径'=>'缓存文件名' ) )
若存在多个页面静态生成时可以用如下操作
$indexHtml= array('/Index' => 'index'); //在根目录下生成首页
$oneHtml=array('/Article/one/id/'.$id => 'Html/'.$id ); //在Html下生成以id为名的静态单页
_class('Html')->create(array_merge($indexHtml,$oneHtml)); //合并进行生成
多静态页面生成方法:htmlList( )方法返回符合create()方法的数组
更新所有单条记录
静态页默认以ID命名,也可在htmlList中传入第三个参数,自定义某字段值来命名,如以标题命名:
htmlList(array(访问路径=>静态页名称),$list,'title')
public function singleHtml(){
$list=$this->C()->findAll('select * from TABLE' ,$this->table);
$singHtml=_class('Html')->htmlList(array('/Article/one/id/'=> 'Html/'), $list);
_class('Html')->create($singHtml);
}
更新翻页,首先计算总页数,再进行生成
public function pagesHtml(){
$totalNum=$this->C()->countRecords('select id from TABLE',$this->table);
$pages=ceil($totalNum/$this->pageSize);//计算总页数
$pagesHtml=_class('Html')->htmlList(array('/Index/main/page/'=> 'Html/article_page_'), $pages );
_class('Html')->create($pagesHtml);
}
删除静态页
删除文件夹下所有静态页,以'/'结尾视作删除该文件夹下的静态缓存,否则框架将视为删除单个静态文件
public function clearHtml(){
_class('Html')->clear('Html/');
}