1.数据表字段设计
【name 英文标识名称】【key key值】【value value名称】【sort 排序】 【status 状态 默认1正常】
例:
2.PHP代码
/**
*生成缓存
*@param str $name 缓存文件名 例 'tb_auth_menu'
* @param str $key 返回相应key值的数组
*@param bool $type 强制生成新的缓存
*@param bool $return 是否返回信息
*@return array
**/
function createCache($name='',$key='',$type=false,$return=true)
{
if(empty($name))
{
return array();
}
$file_name = ROOT_PATH.'/Data/Cache/'.$name.'.php';
if(!file_exists($file_name) || $type==true)
{
$info=D('Cache')->index($name);
if(is_array($info) && !empty($info))
{
$str = "<?php return ".var_export(array($name=>$info),true).";";
file_put_contents($file_name,$str);
if($return===true)
{
return $key ? $info[$key] : array($name=>$info);
}
}
}else
{
$info = include $file_name;
if(isset($info[$name]) && !empty($info[$name]))
{
if($return===true)
{
return $key ? $info[$name][$key] : $info;
}
}else
{
$info=D('Cache')->index($name);
if(is_array($info) && !empty($info))
{
$str = "<?php return ".var_export(array($name=>$info),true).";";
file_put_contents($file_name,$str);
if($return===true)
{
return $key ? $info[$key] : array($name=>$info);
}
}
}
}
}