@NoStore? Was macht das? (AuthController)

Hi,
mal wieder ne nette Frage, was tut eigentlich @NoStore?

/**
     * @Since("6.0.0.0")
     * @Route("/account/login", name="frontend.account.login.page", methods={"GET"})
     * @NoStore
     */

Und wie schaffe ich es, dass Shopware 6 nicht mehr meint ich hätte das nicht als USE eingebunden?

# [Semantical Error] The annotation "@Shopware\Storefront\Framework\Routing\Annotation\NoStore" in method X2\Integration\Storefront\Controller\MyAuthController::loginPage() was never imported. Did you maybe forget to add a "use" statement for this annotation? in /var/www/html/custom/plugins/X2Integration/src/Storefront/Controller/MyAuthController.php

Danke an alle die hier schreiben.

Da fehlt ein use Statement:

use Shopware\Storefront\Framework\Routing\Annotation\NoStore;

Wenn das gesetzt ist wird, werden extra Header gesetzt (no-cache,no-store, etc)

Nee, der ist drin, ich hab fast 1:1 den SW AuthController.php und das USE ist oben vorhanden, ist ihm aber wurscht.
Hier das Orginal: platform/AuthController.php at trunk · shopware/platform · GitHub (Zeile 27)

Würd’ ja vielleicht schon helfen, wenn ich wüsste, was dieses @NoStore überhaupt macht.

Netterweise gibts bei SW ja keine Kommentare im Code, wofür die Klassen zuständig sind.
Zusammen mit der legendären 6er Doku macht das immer Spass rumzuraten und im Code zu kramen…

@hermetic ist die Änderung auch auf dem Server vorhanden? Wenn du z. B. Dockware zum Entwickeln verwendest, gehe bitte sicher, dass deine Änderungen auch deployed werden.

Ansonsten den Shooware Cache leeren.

vg

Hi abdullah,
ja Cache lösch’ ich immer mal wieder. Sollte aber bei PHP kein Problem sein, weil da eigentlich jede Änderung, die nicht .twig ist sofort erkannt wird. Zu Zeit hab ich die ersten beiden loginPage und guestLoginPage auskommentiert. Dann kommen keine Errors, aber das sind die Funktionen, die ich eigentlich bräuchte.

Das hängt wohl mit Cache Control zusammen. Siehe z.B: Cache-Control - HTTP | MDN (mozilla.org)

no-store
Der Cache sollte nichts über den Client-Request oder die Server-Response speichern.

Warum du da Fehler bekommst, weiß ich allerdings nicht. Statt einen eigenen AuthController zu schreiben, würde es aber vielleicht mehr Sinn machen einen Decorator für den existierenden zu bauen bzw. einen Subscriber auf Login-Events.

1 „Gefällt mir“