【发布时间】:2011-02-10 09:30:12
【问题描述】:
背景:
我正处于基于 PHP5.3 构建的新项目的起步阶段。我刚刚开始研究以最初允许我将会话保存到数据库的方式处理会话的方法。我会将所有会话管理分离到一个单独的库中,以便轻松透明地迁移到 memcached、单独的会话数据库服务器,或者到那时最好的解决方案。
不过,我对什么是好方法感到有些困惑——网上有很多关于如何处理因 PHP 版本而异的会话的不同想法,而且我读的越多,我就越困惑。
问题:
以下是我认为最合适的选项。我应该使用哪一个,为什么?是否应考虑其他替代方案?
选项 1:
使用session_set_save_handler 并为每个会话事件创建自定义函数,以充分利用 PHP 的本机(内置)会话处理,但仍将会话保存到数据库。会话会写成$_SESSION['identifier'] = 'value';。
选项 2:
构建一个完整的会话类,它与 PHP 的会话无关,只是充当与我的数据库中的 sessions 表对话的任何数据库模型。会话会写成$this->sessions->write('identifier', 'value');。
【问题讨论】: