Symfony CurrentUser-Attribut kollidiert mit Doctrine Param Converter

in  Verschiedenes , , ,

Symfony CurrentUser-Attribut kollidiert mit Doctrine Param Converter

Symfony und Doctrine bieten bereits Unterstützung für unterschiedliche native Attribute, welche seit in PHP 8 verwendet werden können. So lassen sich diese unter anderem für ORM-Definitionen (#[ORM\*]), Validierungsregeln (#[Assert\*]), Routen (#[Route]) oder zur Injektion von Service Tags (#[TaggedIterator]) einsetzen.

Das Attribut #[CurrentUser] erlaubt es, das Objekt mit dem aktuell angemeldeten Nutzer direkt als Controller-Argument zu übergeben; ein Beispiel hierfür lässt sich diesem Blog-Artikel entnehmen. Intern wird hierbei ein Argument Value Resolver benutzt.

Ein Problem entsteht dann, wenn das Zielobjekt eine Doctrine-Entität ist und darüber hinaus die Param Converter aktiviert sind. In diesem Fall wird versucht, das Objekt mit Hilfe eines Doctrine Converters aufzulösen, bevor der Argument Value Resolver seinen Job tun kann. Dies funktioniert jedoch nicht, da keine ID in der Route übergeben wird.

Während die perspektivische Lösung dieses Konflikts darin besteht, dass alle Param Converter durch Argument Value Resolver abgelöst werden, findet sich in dem dazugehörigen Symfony-Ticket der Workaround, übergangsweise das Argument mit dem Type Hint UserInterface zu versehen. Hierdurch wird der Param Converter nicht mehr ausgelöst, da es sich nicht um eine Entität handelt.

Weitere Beiträge in Kategorie Verschiedenes

KeePassXC im Browser nutzen trotz Sandbox dank Auto-Type
- Nach dem Ende März erfolgten Kubuntu-Upgrade auf Jammy Jellyfish blieb das Problem, dass sich KeePassXC nicht mehr automatisch in dem nun auf Snap umgestellten Firefox-Browser integriert betreiben …
Kubuntu Aktualisierung auf 22.04 “Jammy Jellyfish”
- Am 21. April erscheint die nächste Ubuntu-Version Jammy Jellyfish mit LTS (Long Time Support), die 5 Jahre lang mit Updates versorgt werden wird. Üblicherweise aktualisiere ich unsere Rechner schon …
Shopware 6: Varianten in Produktliste wechseln
- Shopware 6 bietet per Standard zwei Möglichkeiten, wie mit Varianten eines Produktes in der Listenansicht umgegangen werden soll: entweder es wird eine bestimmte Hauptvariante angezeigt oder aber die …
Shopware 6: Korrektur für Links zu rechtlichen Angaben
- In der aktuellen Version von Shopware 6 gibt es einen Bug, der dafür sorgt, dass die Links zu den Datenschutzbestimmungen und den allgemeinen Geschäftsbedingungen im Registrierungsformular nicht …
Vom Teilen und Herrschen: Wie groß sollten Module sein?
- Soeben bin ich über einen Artikel auf Heise gestolpert, der aus meiner Sicht ein paar spannende Impulse setzt: Richtig klein: Hat Modularisierung versagt?. Der Autor beginnt mit klassischen …