10
サービスを取得しているのは現在のログインしているユーザーですが、開発環境では一部の時間しか動作しません。私はそれが私が再び小枝テンプレートを更新するまで必要としてページのすべての作品更新するとTokenStorageはサービスでnullを返すことがあります
Error: Call to a member function getUser() on null
:私は小枝のテンプレートを変更すると、私はエラーを取得するリフレッシュたび
問題があると思われます。これは明らかに私がページを常にリフレッシュしているので、開発は非常に遅くなります。
物事私がこれまで行っている: -
- のdevの環境のキャッシュをクリアします。
- ブラウザのキャッシュをクリアしました。
- は、ユーザーが確実にログインしているを確認し(それ以外の場合は、 が第2のリフレッシュに動作しないでしょう)
誰もが問題を引き起こしている可能性がどのような任意のアイデアを持っていますか?
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;
}
}
小枝テンプレート
{{ myservice.doSomething }}
注:これはまだ問題
チェック:http://stackoverflow.com/questions/24916638/symfony-dependency-injection-in-twig-extension –
こんにちは、あなたが問題を引き起こして見つけますか?私もそれを経験しています。ありがとう! – iamjc015