我正在尝试在用户的会话超时发生时将用户注销.记录用户 - 在我的情况下 - 需要修改用户在数据库中的"在线"状态.
我当时认为我可以使用观察者模式来制作一些监视用户会话状态的东西,并在会话到期时触发回调 - 这将保留用户的名字,以便我们可以更新数据库.我不确定在会话方面从哪里开始.我可以将回调绑定到会话的超时吗?
这些内容是否包含在任何可用的pear或zend会话包中?我将用我所拥有的一切来实现这一目标!
更新@ 16:33:
如果您的系统中用户可以互相交互(但他们只能与在线用户交互),该怎么办?用户需要知道当前哪些其他用户在线.
如果我们只是在每次刷新页面时检查会话是否仍处于活动状态,那么在超时后,用户将被发送到未登录的页面,但它们仍然在系统中列为在线状态.
该方法没有问题,只是当我们超时会话时,我们会丢失有关用户登录的信息.
更新@ 16:56:
对.谢谢.我同意......有点难看.我已经对服务器发生了一些缓慢的轮询,因此实现该方法非常容易.对于会话处理包来说,这似乎是一个非常有用的功能.Zend和PEAR都有会话包.