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

Zend Framework PHP Discussion :

Un plugin arretant les autres


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 16
    Par défaut Un plugin arretant les autres
    Bonjour,

    J'ai un plugin en predispatch qui change le controller et l'action à executer.

    Je voudrais que les plugins suivant ne soit plus appelé. Comment faire ?
    Car, le suivant me modifie également le controller et l'action donc, mon premier perd ce qu'il avait fait.

    Merci

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Peux tu montrer ton code s'il te plaît?
    Cordialement.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Par défaut
    Bonjour,

    Je n'ai jamais essayer mais il doit être possible de supprimer les plugins (de ton choix) dans ton plugin, avec quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php
    $frontController->unregisterPlugin('pluginName');

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Il doit même y avoir plus simple :
    preDispatch() est appelée avant qu'une action ne soit dispatchée par le dispatcheur. Cette méthode permet un filtrage ou un proxy. En jouant sur la requête à ce niveau là, vous êtes capable de changer le processus, et en vous aidant de Zend_Controller_Request_Abstract::setDispatched(false)), vous supprimez l'ordre de dispatching de celle-ci.
    .

  5. #5
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 16
    Par défaut
    J'ai corrigé mon problème, en changeant l'ordre d'exécution de mes plugins.

    Je ne le marque pas résolu, car, ce n'est pas vraiment une solution

    Mais, merci

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    As tu regardé ça :
    preDispatch() est appelée avant qu'une action ne soit dispatchée par le dispatcheur. Cette méthode permet un filtrage ou un proxy. En jouant sur la requête à ce niveau là, vous êtes capable de changer le processus, et en vous aidant de Zend_Controller_Request_Abstract::setDispatched(false)), vous supprimez l'ordre de dispatching de celle-ci.

Discussions similaires

  1. Plugin Jetty et les autres plugins
    Par Graurk dans le forum Maven
    Réponses: 3
    Dernier message: 07/01/2012, 19h17
  2. Réponses: 2
    Dernier message: 16/01/2011, 23h57
  3. unicité de champ les uns envers les autres
    Par Jovial dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 16/04/2004, 08h34
  4. Réponses: 17
    Dernier message: 15/10/2003, 01h45
  5. Réponses: 2
    Dernier message: 09/07/2003, 14h10

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