繁体   English   中英

如何设置symfony会话

[英]How to set a symfony session

这可能是一个荒谬的问题,但是我现在知道Symfony大约只有几个月,而且我从未配置过会话。 我了解文档中发生了什么,但是在哪里实例化新的Session? 我可以在我的editAction中执行吗?

因为我有一个editAction,并且一旦有人进行编辑,就会向主管发送一封电子邮件,但是如何将每个会话的每个订单编辑限制为一封电子邮件呢?

我是否只需要在我的editAction中添加类似的内容?

$session = new Session();
$session->start();

// set and get session attributes
$session->set('order', '...');
$session->set('supervisorEmail', '...');
$session->set('time', '...');

有人可以帮我提供完整的样本或指导我吗? 我会非常感激。 谢谢。

会话由内核自动启动,因此您不必手动启动它。 在控制器中,您可以通过请求进行检索:

use Symfony\Component\HttpFoundation\Request;    

public function editAction(Request $request)
{
    $session = $request->getSession();
    $session->set('order', '...');
    $session->set('supervisorEmail', '...');
    $session->set('time', '...');
}

您还可以检查会话是否已经具有属性,例如:

if (false === $session->has('order') {
    $session->set('order', '...');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM