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 :

Problème avec les Plugins


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Par défaut Problème avec les Plugins
    Bonjour,

    Je viens d'implémenter une authentification au sein de mon application, et ça semble bien marcher.

    le problème c'est que je dois faire un test avant l'appel de n'importe quel action,
    mais c'est un petit peu couteux.

    En googlant un peu, j'ai trouvé que l'utilisation des plugins résoudra le problème, mais je n'arrive pas à l'implémenter.

    Voici le code du plugin :
    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
    	class Application_Model_Plugins_AuthPlugin extends Zend_Controller_Plugin_Abstract
    	{
    	    public function preDispatch(Zend_Controller_Request_Abstract $request)
    	    {
    			$acl = new Application_Model_Authentication_Acl();
    			$identity = Zend_Auth::getInstance()->getIdentity();
    			$controllerName = $this->getRequest()->getControllerName();
    			$actionName = $this->getRequest()->getActionName();
     
    			if(Zend_Auth::getInstance()->hasIdentity()) {
    				if ($acl->isAllowed($identity->role, $controllerName, $actionName)){
    					if ($identity->role == "user")
    						$this->_helper->redirector->gotoSimple('user', 'error', null, array('code'=>"V"));
    					elseif  ($identity->role == "admin")
    						$this->_helper->redirector->gotoSimple('user', 'error', null, array('code'=>"V"));
    				}
    			}else{
    				if ($controllerName == "admin")
    					$this->_helper->redirector->gotoSimple('admin', 'connection', null, array());
    				else
    					$this->_helper->redirector->gotoSimple('user', 'login', null, array());
    			}
    	    }
    	}
    et voici le code du fichier Bootstrap :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
    	public function __construct($application) {
    		$front = Zend_Controller_Front::getInstance();
    		$front->setControllerDirectory(APPLICATION_PATH . '/controllers')
    		      ->setRouter(new Zend_Controller_Router_Rewrite())
    		      ->setDispatcher(new Zend_Controller_Dispatcher_Standard())
    		      ->registerPlugin(new Application_Model_Plugins_AuthPlugin ());
    		$front->dispatch();
        }
    }
    j'ai l'erreur suivante :
    Fatal error: Class 'Application_Model_Plugins_AuthPlugin ' not found in C:\wamp\www\zf-tutorial\application\Bootstrap.php on line 12

    Merci d'avance pour votre aide
    Bien cordialement

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Bonjour,

    Le path (emplacement) de ton fichier php qui contient la classe "AuthPlugin" ?
    A partir de l'erreur je pense que le fichier existe ici : "C:\wamp\www\zf-tutorial\application\models\plugins\AuthPlugin.php"
    Si oui alors la déclaration de ta classe doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Model_Plugin_AuthPlugin extends Zend_Controller_Plugin_Abstract
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Application_Model_Plugins_AuthPlugin extends Zend_Controller_Plugin_Abstract
    sans "Application", "s" de "Plugins".

    Cordialement.

  3. #3
    Membre éclairé Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Par défaut
    Citation Envoyé par abenlahsen Voir le message
    Bonjour,

    Le path (emplacement) de ton fichier php qui contient la classe "AuthPlugin" ?
    Bonjour,

    je l'ai mis dans : /Application/Model/Plugins

    Merci
    Bien cordialement

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Citation Envoyé par reeda Voir le message
    Bonjour,

    je l'ai mis dans : /Application/Model/Plugins

    Merci
    Bien cordialement
    Alors la déclaration de ta classe doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Model_Plugin_AuthPlugin extends Zend_Controller_Plugin_Abstract
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Application_Model_Plugins_AuthPlugin extends Zend_Controller_Plugin_Abstract
    sans "Application", "s" de "Plugins".


    Cordialement.

  5. #5
    Membre éclairé Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Par défaut
    Citation Envoyé par abenlahsen Voir le message
    Alors la déclaration de ta classe doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Model_Plugin_AuthPlugin extends Zend_Controller_Plugin_Abstract
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Application_Model_Plugins_AuthPlugin extends Zend_Controller_Plugin_Abstract
    sans "Application", "s" de "Plugins".


    Cordialement.
    Bonjour,

    merci pour ta réponse,
    je viens de tester, mais j'ai toujours la même erreur

    Merci
    Bien cordialement

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Bonjour,


    Ok.
    Alors renomme le répertoire "Model" ici : "/Application/Model/Plugins", ajoute un "s" pour avoir le path suivant "/Application/Models/Plugins"

    Remarque: Si on utilise le composant AutoLoad de Zend il faut qu'on fasse attention aux noms des classes et leurs paths.


    Cordialement.

Discussions similaires

  1. [Sonar] Probléme avec les plugins Maven
    Par khamkham dans le forum Qualimétrie
    Réponses: 0
    Dernier message: 15/07/2010, 18h00
  2. Réponses: 2
    Dernier message: 27/05/2010, 16h26
  3. [UML] Problème avec le plugin omondo.uml
    Par seawolfm dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/10/2003, 17h40
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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