Les attributs PHP vous permettent de définir des métadonnées structurées directement dans votre code, juste à côté des classes, méthodes ou propriétés qu'ils configurent. Bien que leur utilisation dans Symfony soit facultative, ils améliorent considérablement l’expérience et la productivité des développeurs. C'est pourquoi chaque nouvelle version de Symfony ajoute de nouveaux attributs et améliore ceux existants.
#[Utilisateur actuel]L'attribut #[CurrentUser] peut être utilisé dans les arguments du contrôleur pour obtenir l'utilisateur actuellement authentifié. Dans Symfony 7.4, nous l'avons amélioré afin que vous puissiez utiliser un type union, permettant à votre contrôleur de gérer plusieurs types d'utilisateurs possibles :
utilisez App\Entity\AdminUser ; utilisez App\Entity\Customer ; utilisez Symfony\Component\Security\Http\Attribute\CurrentUser ; class ApiLoginController extends AbstractController { #[Route('/api/login', nom : 'api_login', méthodes : ['POST'])] public function index(#[CurrentUser] AdminUser|Customer $user) : Réponse { // ... } }#[Itinéraire]L'attribut #[Route]...
[Courte citation de 8% de l'article original]