这可能是一个荒谬的问题,但我现在只知道Symfony只有几个月而且我从未配置过会话。我理解documentation中发生了什么,但我在哪里实例化新会话?我是否在editAction中执行此操作?
因为我有一个editAction,只要有人进行编辑,就会将电子邮件发送给主管,但是如何将每个订单的每个订单编辑限制为一封电子邮件?
我只需要在editAction中添加这样的内容吗?
$session = new Session();
$session->start();
// set and get session attributes
$session->set('order', '...');
$session->set('supervisorEmail', '...');
$session->set('time', '...');
有人可以帮我提供完整的样本或指导我吗?我非常感激。谢谢。
答案 0 :(得分:4)
会话由内核自动启动,因此您无需手动启动它。在控制器中,您可以通过请求检索:
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', '...');
}