#1 jake

静态HTML生成类
spHtml并非是伪静态的程序,而是生成真实的物理HTML文件。

成员函数

public

  • make -- 生成单个静态页面
  • makeAll -- 批量生成静态页面
  • getUrl -- 获取url的列表程序
  • setUrl -- 写入url的列表程序
  • clear -- 清除静态文件
  • clearAll -- 清除全部静态文件

位置
spHtml类位于 SP_PATH/Core/spView.php

详细make

生成单个静态页面

void make(spUrl spurl, string alias_url, int update_mode)

参数:


  • spUrl spurl spUrl的参数
  • string alias_url 生成HTML文件的名称
  • int update_mode 更新模式

请注意spurl参数的格式:

$url = array("main", "show", array('id'=>12));
spClass("spHtml")->make($url);

spurl是一个数组,数组的每项将对应spUrl函数的各个参数。

如果不设置alias_url,将使用年月日生成目录及随机数为文件名的形式生成HTML文件。

update_mode(更新模式)可以取值:


  • 2为同时更新列表及文件
  • 0是仅更新列表
  • 1是仅更新文件
makeAll

批量生成静态页面

void makeAll(make_params spurls)

参数:


  • make_params spurls 数组形式,每项是一个make()的全部参数

makeAll()并非简单的重复make操作,而是连续两次的遍历需要生成的文件,第一次是先将全部HTML的文件地址生成,第二次开始生成物理HTML文件。两次遍历模式避免了一次生成带来的后继URL地址无法写入前列HTML文件中的情况。

在同一个程序中,如果需要生成多个HTML文件,应避免多次使用make函数,而应该将多个HTML生成的参数合一,使用makeAll函数进行批量生成。
getUrl

获取url的列表程序

mixed getUrl(string controller, string action, array args, string anchor, bool force_no_check)

参数:


  • string controller 控制器名称,默认为配置'default_controller'
  • string action 动作名称,默认为配置'default_action'
  • array args 传递的参数,数组形式
  • string anchor 跳转锚点
  • bool force_no_check 是否检查物理文件是否存在

getUrl()和setUrl()均是框架内部默认获取和设置URL列表的函数,开发者应避免直接使用getUrl()和setUrl()。同时开发者可以通过设置应用程序配置'url_setter'和'url_getter'来改变URL列表保存和读取的方式。

setUrl

写入url的列表程序

void setUrl(spUrl spurl, url baseuri)

参数:


  • spUrl spurl spUrl的参数
  • url baseuri URL地址对应的静态HTML文件访问地址

在make生成页面后,setUrl()将spUrl参数及页面地址写入列表中。

clear

清除静态文件

void clear(string controller, string action, array args, string anchor, bool delete_file)

参数:


  • string controller 需要清除HTML文件的控制器名称
  • string action 需要清除HTML文件的动作名称,默认为清除该控制器全部动作产生的HTML文件。如果设置了action将仅清除该action产生的HTML文件
  • array args 传递的参数,默认为空将清除该动作任何参数产生的HTML文件。如果设置了args将仅清除该动作执行参数args而产生的HTML文件
  • string anchor 跳转锚点,默认为空将清除该动作任何锚点产生的HTML文件。如果设置了anchor将仅清除该动作跳转到锚点anchor产生的HTML文件
  • bool delete_file 是否删除物理文件,FALSH将只删除列表中该静态文件的地址,而不删除物理文件。
clearAll

清除全部静态文件

void clearAll(bool delete_file)

参数:


  • bool delete_file 是否删除物理文件,FALSH将只删除列表中该静态文件的地址,而不删除物理文件。



2012-08-06 20:43:00