[英]Codeigniter - PHP - encode and decode session userdata before is store and when is returned
我想在Codeigniter中扩展Session.php库。
我想使用base64 encoded/decoded session values
。
所以基本上我想在设置所有会话数据之前对其进行全局编码(session-> set_userdata()),然后在返回时对其进行解码(session-> userdata('item'))
可能吗?
我很麻烦如何设置会话数据以及何时返回数据该怎么办?
我正在使用Codeigniter会话数据库,并计划编写MY_Session.php库,但无法继续,我在这里被屏蔽:
class MY_Session extends CI_Session{
}
任何需要的帮助,谢谢
您需要覆盖会话库的session->set_userdata()
和session->userdata()
。
class MY_Session extends CI_Session{
public function set_userdata($data, $singleVar = NULL) {
if(is_array($data)) {
foreach($data as $key => &$value) {
//Encode $value
}
parent::set_userdata($array);
}
else {
//Encode $singleVar
parent::set_userdata($data, $singleVar);
}
}
public function userdata($item) {
$data = parent::userdata($item);
//Decode $data
return $data;
}
}
您的新函数将是可公开调用的,而不是会话类中的函数,并且可以通过调用parent::
来访问Codeigniter库中的函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.