Xeo*_*oss 19 php session codeigniter kohana
我一直在使用CodeIgniter系统一段时间 - 但它有它的缺点.我很感激它教给我的东西,但现在我需要一个新的非codeigniter项目的库,所以我正在寻找关于哪些库有正确而哪些没有的想法.我可能不得不从几个图书馆拿走一些东西来获得我需要的一切.
我只是看了一下Kohana PHP会话库,我喜欢它如何返回使用$ _SESSION超全局的本地PHP方式,而不是强制更改$ this-> session进行数据访问.
无论如何,我想知道是否有其他好的会话库,我可能会搞乱.除了CRUD功能之外,还有很多必须在会话中处理.
我花了一些时间来讨论CodeIgniter和Kohana会话库的逻辑,然后我想出了关于每个页面的每个开始和结束会话的内容.
/**************
** Kohana Sessions
**************/
If not native file storage {
session_set_save_handler to the storage type (DB, cache, cookie...)
}
set the session_name() so php knows what cookie value to check
start session
/****** Saving ******/
session_write_close() which calls the given handler
/**************
** CI Sessions
**************/
Try to read_session() -> {
session = Get cookie (if using cookies will also contain data)
if(database) {
session .= pull data from database
}
checks if valid...
$this->userdata = session data
} else {
create a new one
}
/****** Saving ******/
session data is serialized either way
if(cookie) {
save cookie with serialized data and params like "last_activity"
}
if(database) {
save serialized data in db and session in cookie
}
Run Code Online (Sandbox Code Playgroud)
你看过了Zend_Session吗?
$_SESSION当你使用时弄乱它并不是很好Zend_SessionZend_Session有一个基于adpater的方法来保存会话数据.一个保存处理程序为星展集团是包括在内,但其体系结构允许自定义处理程序中传递.Zend_Session支持验证器检查会话的有效性.在这里,我们也有一个开放式架构,允许您传入自定义对象进行验证.Zend_Session例如重新生成会话ID,发出remember-me-cookies,撤销remember-me-cookies等等.