使用cookie保存对象状态&;数据库,接口类似于$_SESSION


Save object state using cookies & database, with interface similar to $_SESSION

我想为我正在编写的购物车实现一个"记住我"功能。目前我保存状态非常简单,就像这样:

$user;
if (isset($_SESSION['user']){
    $user = $_SESSION['user'];
} else {
    $_SESSION['user'] = $user = new User();
} 

在上面的代码之后,可以通过数据库检索诸如篮子中的物品之类的数据,如下所示:

$basket = Basket::obtain($user);

我正在寻找一个处理上述逻辑的代码片段或类似代码,结合在更长时间(1年)内记住用户的能力,使用cookie(例如)存储哈希,然后服务器查询DB以获得$user对象状态。

我不相信自己能很好地编写这个功能,所以我想知道是否有任何轻量级(小占地面积)的解决方案可以解决这个问题,让我免于重新发明轮子?我避免使用大型框架,因为它们确实太过了,根据我的经验,学习曲线等等对我来说都是令人望而却步的。

您可以考虑只创建一个会话类,该类具有一些静态方法来将put数据放入数据库?也同意Andresch Serj的观点,学习曲线值得这个结果。

像codeigniter这样的框架很容易学习,文档也很棒。