![](/img/trans.png)
[英]Symfony2 get session in RegistrationFormType of FosUserBundle
[英]how to get session value inside symfony2 i use fosuserbundle
我正在使用fosuserbundle,這是我在FOSUBUserProvider類中的功能:
public function connect(UserInterface $user, UserResponseInterface $response)
{
// and here i want to get session value like:
$session = $request->getSession();
$session->get('value1');
//
}
您需要在“服務聲明”中添加會話,
然后將其添加到FOSUserProvider
類的構造函數中,
在services.yml
和services部分中,添加@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]
在connect
函數上方的類中聲明$session
和$ em變量,並添加以下構造函數,
public function __construct(UserManager $userManager, Array $properties, Session $session, EntityManager $em)
{
$this->session=$session;
$this->em=$em;
parent::__construct($userManager, $properties);
}
在功能Connect
您可以將其作為
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
.
.
.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.