如何从Symfony2中的UserProvider对象设置会话变量?

时间:2013-12-22 16:07:07

标签: php session symfony internationalization

为了设置当前的UI语言,我需要在从UserProvider对象(loadUserByUsername方法)中检索用户信息时将用户默认语言设置为会话变量。

如何访问会话以从UserProvider对象设置当前UI语言?

您是否了解管理UI当前语言的更好方法?

1 个答案:

答案 0 :(得分:0)

您可以在请求侦听器中将此数据添加到请求中。并在以后获取它。

 /**
 * Set the right format  to notify FosRest Handle view regarding the real format that the request contain
 *
 * @param GetResponseEvent $event
 * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
 */
public function onKernelRequest(GetResponseEvent $event)
{
    $request = $event->getRequest();
    $callback = $request->get('callback');


    if ( $callback!=''){
        $event->getRequest()->attributes->set('_format','jsonp');
    }


}

和services.yml:

kernel.listener.callback_request:
        class: CallbackRequestListener
        arguments: []
        tags:
            - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }