我在控制器中有以下代码:
$request = $this->getRequest();
$session = $request->getSession();
我将一些数据发布到该控制器(来自表单)。我想将发布的数据保存在会话变量中。这可能吗?
也许序列化请求对象?如果这是正确的方法,我将如何序列化它?
答案 0 :(得分:3)
类似于如何使用$session->all()
将所有会话值转换为数组,您可以使用request
获取所有$request->request->all()
值,因此您的最终产品将是:
$session->set('postData', $request->request->all());
要获取数据:
$postDataFromBefore = $session->get('postData');
您访问$postDataFromBefore
的值就像访问任何传统的$_POST
数组一样,因为Symfony会以相同的数据类型保存会话数据。因此$_POST['my_value']
会转换为$postDataFromBefore['my_value']
。