向会话添加数据

Nobrandheroes

真的很简单。

在Silex中,文档说将数据添加到您使用的会话中:

 $app['session']->set('user', array('username' => $username));

这很好用,但是我为会话分配了很多数据,这使得使用如此大的数组无法读取代码。因此,在我的应用程序中,我使用:

 $app['session']->set('session_name', $array);

两者都可以。但是,我的应用程序有多个页面,我想将数据添加到会话中,而不是覆盖它,这就是我的方法。

我已经检查了源代码,并且在API文档中什么都没有看到(我可能会丢失),但是有没有$app['session']->add('session_key', $data)类似的东西$array[]

还是我提取会话数据,将其添加到新数据然后写入会话的最佳选择?

梅林

会话api非常简单,没有您需要的功能。

快速解决方案是检索当前值,将其添加到该值,然后再次设置它:

$foo = $app["session"]->get("foo", array());
$foo[] = $newData;
$app["session"]->set("foo", $foo);

如果您准备深入研究代码,则还可以创建自己的具有以下功能的会话处理程序:

class MySessionHandler extends Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler
{
    public function addToKey($key, $value)
    {
        $foo = $this->get($key, array());
        $foo[] = $value;
        $this->set($key, $foo);

    }
}

然后使用Silex来使用它:

$app['session.storage.handler'] = $app->share(function ($app) {
    return new MySessionHandler($app['session.storage.save_path']);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向Devise会话添加数据

来自分类Dev

向Devise会话添加数据

来自分类Dev

向对象添加数据

来自分类Dev

向附加数据添加类

来自分类Dev

从Java向Meteor添加数据

来自分类Dev

向MySQL添加数据列表

来自分类Dev

如何从Firebase向阵列添加数据

来自分类Dev

向Laravel集合添加数据

来自分类Dev

向附加数据添加类

来自分类Dev

实时从Sqlite向recyclerView添加数据?

来自分类Dev

通过SQlite向recyclerview添加数据

来自分类Dev

如何向 React 的 props 添加数据

来自分类Dev

向DBF文件添加数据会添加_NullFlags列

来自分类Dev

向DBF文件添加数据会添加_NullFlags列

来自分类Dev

C# 如何向动态添加的 MSChart 添加数据?

来自分类Dev

向Jquery Ajax数据对象添加数据

来自分类Dev

向数据库PHP添加数据

来自分类Dev

向Jquery Ajax数据对象添加数据

来自分类Dev

向MySQL数据库添加数据的首选方法

来自分类Dev

向数据表添加数据行的逻辑

来自分类Dev

Rails:表单不会向模型添加数据

来自分类Dev

是否从Map向Java FX ListView添加数据?

来自分类Dev

向分区的BigQuery表添加数据并查询

来自分类Dev

如何向Odoo13的POS订单添加数据

来自分类Dev

如何批量向Google Apps脚本添加数据

来自分类Dev

使用EntityFramework向非常嵌套的子对象添加数据

来自分类Dev

允许用户向表jquery添加数据

来自分类Dev

如何从文本框向数组添加数据?

来自分类Dev

如何通过R向MySQL添加附加数据?