2016-08-02 9 views
0

Ich brauche ein Cookie in meinem Dienstsymfony 3 Cookies in einem Service

public function __construct(EntityManager $em, RequestStack $request) 
{ 
    parent::__construct(); 

    $this->request = $request->getMasterRequest(); 
} 

dann zu schaffen, wenn ich versuche, in meinem Dienst diesen irgendwo anrufen:

echo $this->request->cookies->get('_ga');die; 

ich Cookie erhalten, die manuell erstellt werden von mir, aber Aufruf -> set (key, val) speichert nicht mein Cookie

$this->request->cookies->set('test', time()); 
echo $this->request->cookies->get('test'); 

ich Zeit, aber Cookie existiert nur ein einziges Mal, in Rahmen von diese webrequest, wenn ich line mit -> setze, dann sollte ich sehen, dass sich die zeit nicht ändert, aber ich sehe es nicht, weil cookie nicht wirklich gespeichert wird ... irgendwelche hilfe?

Antwort

0

Vielleicht sollten Sie versuchen, die Cookies die Antwort Objekteinstellung, die verwendet wird, um eine Antwort zu bauen - statt der Anfrage das ist, was Sie von dem Client empfangen.

einen Blick auf dieses Thema haben, ist es für Simfony 2, aber ich nehme an, das Prinzip sollte ich für 3.

Symfony2: setting a cookie

$response->headers->setCookie(new Cookie("user", $user)); 

Außerdem ähnlich sein glaube nicht, dass Sie ein Cookie gesetzt sollte Versuchen Sie in Ihrem Dienst, alle erforderlichen Informationen als Geschäftsdatenklassen an den Dienst zu übergeben und eine Klasse zurückzugeben, mit der das Antwortobjekt einschließlich des Cookies formuliert werden kann.