Tôi có một Dịch vụ nhận được người dùng đã đăng nhập hiện tại, chỉ hoạt động trong một khoảng thời gian trong môi trường dev.TokenStorage đôi khi trả về giá trị rỗng trong Dịch vụ
Vấn đề có vẻ là bất cứ khi nào tôi thay đổi mẫu cành và làm mới tôi nhận được lỗi:
Error: Call to a member function getUser() on null
Nếu tôi làm mới trang mọi thứ hoạt động như mong muốn cho đến khi tôi cập nhật các mẫu cành một lần nữa. Điều này rõ ràng làm cho phát triển rất chậm khi tôi liên tục làm mới trang.
Những điều tôi đã làm như vậy cho đến nay: -
- dọn dẹp bộ nhớ cache môi trường dev.
- Đã xóa bộ nhớ cache của trình duyệt.
- Đã xác nhận người dùng được chắc chắn đăng nhập (nếu không nó sẽ không làm việc trên làm mới thứ hai)
Có ai có bất kỳ ý tưởng những gì có thể gây ra vấn đề?
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 Template
{{ myservice.doSomething }}
Lưu ý:Đây là mã trần xương mà vẫn gây ra vấn đề
kiểm tra: http://stackoverflow.com/questions/24916638/symfony-dependency-injection-in-twig-extension –
Hi, bạn đã tìm thấy những gì gây ra vấn đề? Tôi cũng đang trải qua nó. Cảm ơn! – iamjc015