#1 jake
函数和数据缓存实现
成员变量
public
- $life_time -- 默认的数据生存期
private
- $model_obj -- 模型对象
- $input_args -- 调用时输入的参数
成员函数
- cache_obj -- 执行spModel子类对象的方法,并对返回结果进行缓存。
- clear -- 清除单个函数缓存的数据
- clear_all -- 清除全部函数缓存的数据
- __input -- 函数式使用模型辅助类的输入函数
- __call -- 魔术函数,支持多重函数式使用类的方法
位置
spCache类位于 SP_PATH/Core/spModel.php
详细cache_obj
执行spModel子类对象的方法,并对返回结果进行缓存。
result cache_obj(object & obj, string func_name, array func_args, float life_time )
参数:
- object & obj 引用的spModel子类对象
- string func_name 需要执行的函数名称
- array func_args 函数的参数
- float life_time 缓存生存时间
返回:
cache_obj()返回obj调用func_name函数后返回的结果。
结果将按life_time的时间进行缓存,当缓存存在的情况下,调用cache_obj()将返回缓存中的内容。
cache_obj()主要是通过spModel()->spCache()->findAll()的形式调用,所以开发者并不需要直接调用cache_obj()。
清除单个函数缓存的数据
bool clear(object & obj, string func_name, array func_args)
参数:
- object & obj, 引用的spModel子类对象
- string func_name 需要执行的函数名称
- array func_args 函数的参数
在默认不输入参数func_args的情况下,将清除全部该函数生成的缓存。如果func_args有设置,将只会清除该参数产生的缓存。
clear_all清除全部函数缓存的数据
bool clear_all(void)
__input函数式使用模型辅助类的输入函数。
object __input(args args)
__input() 是spController的模型辅助类在使用函数式方法时的标准输入接口。
__call魔术函数,支持多重函数式使用类的方法
2012-08-06 20:37:52