Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Symfony] Où placer ma méthode

Sujet résolu
    17 novembre 2017 à 10:33:25

    Bonjour à toutes et à tous!

    Je travaille actuellement sur une application qui permet de gérer des news.

    Une fois créée, une news peut être modifiée par le créateur (jusqu'à un certain état), par les admins (n'importe quel état) et par les éditeurs (à partir d'un certain état).

    J'aimerai donc créer une méthode du style :

    public function canUpdate(User $user) {
        ...
    }

    Sauf que cette méthode, je dois la placer dans ma classe "News" ou alors, faut-il que je crée un service qui va me permettre de vérifier ça?

    A priori, je le mettrai dans la classe News car c'est directement lié à cette classe mais j'aimerai avoir votre avis!

    • Partager sur Facebook
    • Partager sur Twitter
      17 novembre 2017 à 10:40:14

      Comme on dit en Maths "si et seulement si" canUpdate n'est appelé que de la classe news alors c'est dans la classe news qu'il faut la mettre.

      Sinon (pour la blague) tu te la mets dans ton .....

      Euh ? tu peux meme la mettre private la function dans la classe comme ça pas d'entourloupe de tentative de l'utiliser ailleurs

      -
      Edité par Mon nom est God ; phil God 17 novembre 2017 à 10:41:16

      • Partager sur Facebook
      • Partager sur Twitter
      J'échange des connaissances. Si je les donnais, je n'en aurais plus
        17 novembre 2017 à 10:54:18

        Non, car si je fais un test dans une vue par exemple, pour afficher le bouton de modification :)

        Ou pour vérifier que l'utilisateur courant a la possibilité d'accéder à l'action updateAction de mon controller.

        Donc la méthode ne sera pas appelée qu'en interne mais justement, le rôle de celle-ci c'est de ne gérer les droits de modification des news qu'à un seul endroit

        • Partager sur Facebook
        • Partager sur Twitter
          17 novembre 2017 à 11:28:27

          Bonjour

          Tu peux utiliser le Voter , comme ça tu peux vérifier le créateur de news ou bien état news.

          https://symfony.com/doc/current/security/voters.html

          • Partager sur Facebook
          • Partager sur Twitter
            18 novembre 2017 à 6:01:51

            mets ce flux de discuss  en resolu merci
            • Partager sur Facebook
            • Partager sur Twitter
            J'échange des connaissances. Si je les donnais, je n'en aurais plus

            [Symfony] Où placer ma méthode

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown