IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

FosRestBundle, appeler une fonction à chaque appel


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut FosRestBundle, appeler une fonction à chaque appel
    Bonjour à tous,

    J'ai mis en place une authentification OAuth2 et des web services REST à l'aide des bundles FOSRestBundle et FOSOAuthServerBundle.

    J'ai déjà développé les web services de mon application et j'aimerais maintenant faire des stats, par exemple principalement stocker le nombre de requêtes qu'ont effectués chacun des clients auxquels j'ai donné un accès à mes web services. J'imagine qu'il y a un meilleur moyen que le faire dans chacune des fonctions des mes web services mais je n'ai pas trouvé :/

    Est-ce que quelqu'un aurait une idée ?

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Billets dans le blog
    7
    Par défaut Un listener ?
    Bonjour,
    Y'a surement un moyen avec les listeners ex "kernel.request" pour faire cela,
    dedans tu peut récupérer le nom du firewall pour isoler les stats autres que les appels à travers ton webservice
    J'en suis pas sure à 100% de ce que j'ai ecrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    services:
      listen_to_me:
        class: My\DemoBundle\Listener\ListenToMe
        arguments: [ @id_de_ton_service_de_stats ]
        tags:
          - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    namespace My\DemoBundle\Listener;
     
    use Symfony\Component\HttpKernel\Event\GetResponseEvent;
    use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
    use Symfony\Component\HttpFoundation\Cookie;
    use Symfony\Component\DependencyInjection\ContainerInterface;
     
    class ListenToMe
    {
        protected $stat;
     
        public function __construct($stat)
        {
            $this->stat = $stat;
        }
     
        public function onKernelRequest(GetResponseEvent $event)
        {
            //récupérer le nom du firewall
            if ($event->getAuthenticationToken()->getProviderKey() == "api") {
                //Ta logique de stat
                $this->stat->blablabla();
            }
        }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Par défaut
    Salut phpiste et merci pour ton aide

    On m'a affecté à une autre tâche plus urgente, je repasserai à ça un peu plus tard et testerai ce que tu m'as conseillé, merci beaucoup

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 168
    Par défaut
    Regardes plutôt la SimplePreAuthenticatorInterface ...

Discussions similaires

  1. appel d'une fonction à chaque appui sur une touche du clavier
    Par jonnyboy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/09/2007, 16h32
  2. Réponses: 21
    Dernier message: 20/06/2006, 16h49
  3. [C#]appeler une fonction a chaque validator
    Par ralkif dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/04/2006, 10h59
  4. Utiliser une touche pour appeller une fonction
    Par Hide dans le forum Langage
    Réponses: 2
    Dernier message: 13/10/2005, 16h59
  5. setTimeOut ne peu pas appeler une fonct. et appeler une var?
    Par bywazy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/06/2005, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo