php - cómo obtener el valor de la sesión dentro de symfony2 yo uso fosuserbundle
session request (1)
Estoy usando fosuserbundle y esta es mi función dentro de la clase FOSUBUserProvider:
public function connect(UserInterface $user, UserResponseInterface $response)
{
// and here i want to get session value like:
$session = $request->getSession();
$session->get(''value1'');
//
}
necesita insertar Session en su declaración de servicios,
y luego agréguelo en el constructor de la clase FOSUserProvider
,
en la sección services.yml
and services add @session
parameters:
my_user_provider.class: Auth/UserBundle/Security/Core/User/FOSUBUserProvider
services:
my_user_provider:
class: "%my_user_provider.class%"
#this is the place where the properties are passed to the UserProvider class
arguments: [@fos_user.user_manager,{facebook: facebookID},@session,@doctrine.orm.entity_manager]
declare $session
y $ em variable en su clase sobre la función connect
y agregue el siguiente constructor,
public function __construct(UserManager $userManager, Array $properties, Session $session, EntityManager $em)
{
$this->session=$session;
$this->em=$em;
parent::__construct($userManager, $properties);
}
en la función Connect
puedes obtenerlo como,
public function connect(UserInterface $user, UserResponseInterface $response)
{
$value=$this->session->get(''value1'');
$em=$this->em; // or directly use $this->em->flush(); or whatever you want
.
.
.
}