Utiliser des constantes dans les attributs PHP 8
Publié le 25/06/2022 • Actualisé le 25/06/2022
Dans ce bout de code, nous voyons comment utiliser des constantes dans les attributs PHP 8. C'est un des avantages que les attributs procurent. Avant, on devait utiliser du texte brut dans les annotations, ce qui pouvait être source d'erreur (mais également ennuyeux à écrire). Par exemple, on utilisait quelque chose comme cela dans un contrôleur : @IsGranted("ROLE_ADMIN")
, le rôle était écrit en dur. Si le rôle ROLE_ADMIN
changeait, on devait modifier son nom dans tout le code. Ce n'est plus le cas avec les attributs. On peut introduire une nouvelle constante dans une classe User
: public const ROLE_ADMIN = 'ROLE_ADMIN';
, et l'utiliser dans notre attribut comme montré ci-dessous. On peut aussi utiliser les constantes de nom de classes comme montré dans la question StackOverflow.
/**
* @see ApiControllerTest::testTestSecured()
*/
#[Route(path: '/api/secured', name: 'api_secured')]
#[IsGranted(User::ROLE_ADMIN)]
public function testSecured(): Response
{
return $this->json(['OK' => true]);
}
Plus sur Stackoverflow Lire la doc Plus sur le web Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉
