|
第一次在论坛发贴。。欢迎拍砖
最近在写后台用到session判断登陆状态,但是感觉session里面方法太多。取值存值不太方便,所以写了一个和thinkphp类似的方法
PHP复制代码
S方法使用方法
// 使用data标识缓存$Data数据
S ('data',$Data); //存数组用S($array) $array=array('abc'=>'1234','bcd'=>'2345')
// 缓存$Data数据3600秒
S ('data',$Data,3600);
// 获取缓存数据
$Data = S ('data');
// 删除缓存数据S('data',NULL);
F方法和S类似。大家应该可以看明白。
/**
* 功能:Session缓存重写
* @param $name 如果$name是数组$value无效果 array('a'=>'123','b'=>'234');
* @param $value 字符串
* @param $expire 过期时间
* @return
* @author xiaole
* @time 2014-8-8
*/
function S ($name,$value='',$expire=null){
if(!is_null($expire)){$session_config=array('sess_expiration'=>$expire);} else {$session_config=array();};
instance ()->load->library('session',$session_config);
if(is_array($name)){
instance ()->session->set_userdata($name);return;
}else{
if($value!==''){
if (is_null($value)) {
instance ()->session->unset_userdata($name);return;
}else{
instance ()->session->set_userdata($name, $value);return;
}
}else{
return instance ()->session->userdata($name);
}
}
}
/**
* 功能:Session 快速缓存重写 一次存取,读取后失效
* @param $name 可为数组或者key 如果是数组不能以flash_开头
* @param sting $value 如果$key是字符串则$value有效
* @param boolen $retain 取出数据时是否需要继续保留这个session
* @return
* @author xiaole
* @time 2014-8-8
*/
function F ($name,$value='',$retain=false){
instance ()->load->library('session');
if(is_array($name)){
instance ()->session->set_flashdata($name);return;
}else{
if($value !==''){
instance ()->session->set_flashdata($name,$value);return;
}else{
if($retain){
return instance ()->session->keep_flashdata($name);
}else{
return instance ()->session->flashdata($name);
}
}
}
}
复制代码
|
评分
-
查看全部评分
|