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

MVC PHP Discussion :

Un sorte de preDispatch()


Sujet :

MVC PHP

  1. #1
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut Un sorte de preDispatch()
    Bonjour,

    Est ce qu'il y a moyen de faire une sorte de preDispatch() commun a tous les controllers, donc l'écrire qu'une et une seule fois a un endroit et qui soit appelé avant chaque page.


    Yoshio

  2. #2
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Faire un plugin

  3. #3
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    On peux le charger avant l'exécution de tout les controller sans devoir le mettre dans chaque init() ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Oui C'est le principe du plugin.

  5. #5
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    tu as un lien vers un tuto/doc officiel ?

  6. #6
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    La doc officiel...C'est un bon début.....

    http://framework.zend.com/manual/fr/...r.plugins.html

  7. #7
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Désolé de ne pas avoir eu envie de passer toutes les classes une par une ...

  8. #8
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Est ce qu'il y a un dossier spécial pour placer les plugin ?

  9. #9
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Non pas spécialement.
    Personellement j'ai un répertoires "libraires" qui contient le repértoire du Zend Framework ( "Zend" ) et j'utilise la même convetion que le framework pour stocker mes classses, mais dans un repertoire "My" par exemple ( My_Plugin_Auth => /libraries/My/Plugin/Auth.php )

  10. #10
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    il y a beaucoup plus simple
    la dérivation

    par défaut on dérive ne contrôleur de Zend_Controller_Action
    on a donc
    Zen_Controller_Action<-My_Controller
    il suffit d'écrire une classe Myapp_Controller_Action qui dérive de Zen_Controller_Action et de fair dériver ses contrôleurs de Myapp_Controller_Action
    ainsi :
    Zen_Controller_Action<-Myapp_Controller_Action<-My_Controller
    tout ce qui est commun à tous tes contrôleurs peut alors êtres mis dans Myapp_Controller_Action

    tu peux aussi Classifier tes contrôleurs
    en faisant un hérarchie
    Zen_Controller_Action<-Myapp_Controller_Action<-Index_Controller
    Zen_Controller_Action<-Myapp_Controller_Action<-Myadmin_Controller_Action<-Useradmin_Controller
    Zen_Controller_Action<-Myapp_Controller_Action<-Myadmin_Controller_Action<-Groupadmin_Controller
    Zen_Controller_Action<-Myapp_Controller_Action<-Myuser_Controller_Action<-Tools_Controller

    Myapp_Controller_Action détient alors tout ce qui est commun à toute l'application
    Myadmin_Controller_Action tout ce qui est commun à tous les contrôleur d'administration
    Myuser_Controller_Action ce qui est commun au contrôleurs d'usage de l'application.

    A+JYT

  11. #11
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    il y a beaucoup plus simple
    la dérivation
    ..Chacun sa notion de simplicité

  12. #12
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    heu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class Myapp_Controller_Action extends Zend_Controller_Action {
    }
     
     
    class Exemple_Controller extends MyApp_Controller_Action {
    ....
    }
    et c'est fait

    pour moi à par ne rien faire je ne vois pas la complexité

    A+JYT

  13. #13
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Un plugin c'est pareil pour le coup...
    Faut mettre ton code dans la méthode preDispatch() et voilà...

  14. #14
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Moi je suis partis sur le principe de l'héritage et c'est après coup que j'ai vu que l'on pouvait faire des plugins.

    Mais comment doit-on faire si je veux que certains contrôleur n'utilise pas le plugin? Avec l'héritage c'étais facile, je ne les faisais pas hériter.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. StringGrid sort
    Par clovis dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/10/2004, 22h46
  2. erreur me sort
    Par wperle dans le forum XQUERY/SGBD
    Réponses: 10
    Dernier message: 23/02/2004, 14h19
  3. sorte de valeur par defaut
    Par sampq dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/07/2003, 12h59
  4. xsl:sort
    Par Pierre63 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 03/07/2003, 13h37
  5. JBuilder 7 personnal sort à chaque save
    Par Hannouz dans le forum JBuilder
    Réponses: 4
    Dernier message: 17/12/2002, 23h53

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