[英]symfony 3 Doctrine LIstener service inject token_storage doesnt work
我有一個學說偵聽器,它需要獲取當前登錄的用戶。
class DoctrineListener
{
/**
* @var null|TokenInterface
*/
private $token;
/**
* DoctrineListener constructor.
*
* @param TokenStorageInterface $tokenStorage
*/
public function __construct(TokenStorageInterface $tokenStorage)
{
$this->token = $tokenStorage->getToken();
var_dump($this->token);
}
在我的service.yml中:
doctrine.listener:
class: AppBundle\EventListener\DoctrineListener
arguments:
- '@security.token_storage'
public: false
tags:
- { name: doctrine.event_listener, event: preFlush, method: preFlush }
當我嘗試在此偵聽器中使用轉儲時,轉儲總是返回null。 我將token_storage_service注入其他服務中,並且效果很好。
我使用的是symfony 3.1,帶有其余的API。 然后我將我的授權標頭發送給Postman。
有人可以告訴我我的代碼有什么問題嗎?
提前致謝。
嘗試在preFlush方法中而不是在構造函數中調用$tokenStorage->getToken()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.