Utiliser des constantes dans les attributs PHP 8

PubliĂ© le 25/06/2022 • ActualisĂ© le 25/06/2022


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

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

  Travaillez avec moi !