У меня есть служба, которая получает текущего вошедшего в систему пользователя, который работает только некоторое время в среде разработки.
Кажется, проблема заключается в том, что всякий раз, когда я меняю шаблоны Twig и обновляю их, я получаю сообщение об ошибке:
Error: Call to a member function getUser() on null
Если я обновлю страницу, все будет работать как надо, пока я снова не обновлю шаблон Twig. Это, очевидно, делает разработку очень медленной, так как я постоянно обновляю страницу.
Что я сделал до сих пор: -
- Очистил кеш среды разработки.
- Очистил кеш браузера.
- Подтверждено, что пользователь определенно вошел в систему (иначе это не сработает при втором обновлении)
У кого-нибудь есть идеи, что может быть причиной проблемы?
services.yml
myservice:
class: AppBundle\Services\MyService
arguments: ["@doctrine.orm.entity_manager", "@security.token_storage"]
MyService.php
<?php
namespace AppBundle\Services;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
class MyService
{
private $em;
private $token;
public function __construct($entityManager, TokenStorageInterface $tokenStorage)
{
$this->em = $entityManager;
$this->token = $tokenStorage->getToken();
}
public function doSomething()
{
$user_id = $this->token->getUser()->getID();
return;
}
}
Шаблон Twig
{{ myservice.doSomething }}
Примечание. Это базовый код, который по-прежнему вызывает проблему