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_Acl & Zend_Auth PHP Discussion :

Zend_Auth et Zend_Registry


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut Zend_Auth et Zend_Registry
    Bonjour,

    j'essaie de me mettre à la version 1.9 de zend framework. J'ai suivi le quickstart et il y a plein de petites choses que je ne comprends pas :
    1 - dans Boostrap.php, on doit définir 2 méthodes _initAutoload() et _initDoctype(). A quel moment ses 2 méthodes sont appelées ? Lorsqu'on met $application -> bootstrap() dans index.php ??
    2 - dans la version 1.8, il suffisait de mettre ceci dans le bootstrap :
    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
    define('BASE_URL','/ScriGe/public');
     
    // setup controller
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->throwExceptions(true);
    $frontController->setControllerDirectory(APPLICATION_PATH.'/controllers');
    $frontController->setDefaultControllerName('Listeprojets');
    $frontController->setBaseUrl(BASE_URL);
     
    // Layout
    Zend_Layout::startMvc(APPLICATION_PATH.'/layouts');
     
    $configuration = new Zend_Config_Ini(APPLICATION_PATH.'/config.ini','general');
    $dbAdapter = Zend_Db::factory($configuration->db);
    Zend_Db_Table_Abstract::setDefaultAdapter($dbAdapter);
     
    $registry = Zend_Registry::getInstance();
    $registry->configuration = $configuration;
    $registry->dbAdapter     = $dbAdapter;
     
    unset($frontController,$configuration,$registry,$dbAdapter);
    et d'appeler ensuite dans le LoginController
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $registry = Zend_Registry::getInstance();
    // création de l'adaptateur pour la table t_users
    $authAdapter = new Zend_Auth_Adapter_DbTable($registry -> get('dbAdapter'),'t_users','email','password'); 
    etc...
    pour faire l'authentification.

    Tout a changé maintenant, je suis perdue. En plus les questions sur les forums à propos de la v1.9 sont rares. Si vous avez un tuto intéressant sur cette version de Zend framework, je suis preneuse parce que là, je commence vraiment à me demander si je vais pas rester sur l'ancienne version...

    Merci !

  2. #2
    darthmower
    Invité(e)
    Par défaut
    Salut,

    Je ne vois pas trop les problèmes que tu rencontres entre la version 1.8 et la 1.9 pour le bootstrap, sachant que si mes souvenirs sont bon je ne l'ai pas changé entre les deux versions ...

    Tu as ta class Bootstrap et de-dans tu crées tes méthodes _initQelqueChose(), je ne sais pas très bien si c'est ça mais pour la gestion des authentification et droits d'accès je l'initialise comme ça (via un plugin):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    protected function _initAuth()
    	{
    		$auth = Zend_Auth::getInstance();
    		$acl = new Custom_Acl($auth);
    		$controller = Zend_Controller_Front::getInstance();
    		$controller->registerPlugin(new Custom_Plugin_Auth($auth, $acl));
    	}
    Le Zend_Auth_Adapter_DbTable pour moi est dans un controller d'identification pas dans le bootstrap.

    Gripsou

  3. #3
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut
    pour moi il y a quand même une grande différence :
    • Dans la 1.9, le bootstrap c'est une classe et il faut créer des méthodes, qui sont appelées je ne sais où...
    • Dans la 1.8, on pouvait mettre le code "en vrac"..ou alors je n'ai rien compris


    [EDIT] Je viens de trouver un lien bien sympa qui explique comment fonctionne le nouveau bootstrap : Création du Bootstrap. Toutefois je ne mets pas encore résolu car je pense que j'aurai d'autres questions
    Finalement le sujet parle plutôt du Bootstrap, il faudrait peut-être le déplacer dans le forum "Zend Framework"...

  4. #4
    darthmower
    Invité(e)
    Par défaut
    Bonjour,

    J'utilisais déjà en class dès la 1.8.4, c'est pour ça.
    Si tu veux un peu d'aide pourrais-tu expliquer un peu mieux ton soucis?

    Sachant que le bootstrap est lancé au début (c'est une class d'initialisation)

    Grispou

  5. #5
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Par défaut
    ok en fait j'ai trouvé ce qui me perturbe.
    Dans tous les exemples de la classe Bootstrap que j'ai trouvé, chacun fait sa petite fonction _initxxx(), qui est automatiquement exécutée lorsque, dans index.php, on appelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $application->bootstrap();
    Par exemple, dans la méthode _initFrontController(), on met tout ce qui était "en vrac" dans le fichier bootstrap.php et qui concerne l'initialisation du frontController.
    Or d'après le Quickstart, c'est dans le fichier application/configs/application.ini qu'on met quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
    et c'est là que je ne comprends pas, ce n'est vraiment pas explicite dans le quickstart, qu'est-ce que c'est que ce "resources", d'où ça sort ?

    Merci encore

  6. #6
    darthmower
    Invité(e)
    Par défaut
    Salut,

    Selon ce que j'en sais, c'est Zend qui par défaut parse le fichier ini (par xml ça doit être pareille), et va trouver resources.

    Tu peux regarder le lien suivant qui te montre comment Zend gère les fichiers ini: http://framework.zend.com/manual/fr/...pters.ini.html.

    Ce que je ne comprends pas c'est ce qui te gène, puisque c'est un fichier de configuration et pour qu'il trouve les données il faut bien normaliser le nommage, si tu ne veux pas passer par ces noms là, tu fais tes propres fichier ini et tu récupère les valeurs toi même et initialise dans le bootstrap!

    Gripsou

Discussions similaires

  1. [Zend_Auth] + PDO_MSSQL : problème d'authentification
    Par MaitreTsiang dans le forum Zend_Db
    Réponses: 13
    Dernier message: 30/09/2011, 18h25
  2. La suite du tutorial Zend_Auth de Rob Allen
    Par azizmahamat dans le forum Zend_Acl & Zend_Auth
    Réponses: 6
    Dernier message: 16/04/2010, 10h53
  3. Zend_Auth et Cookie Remember me
    Par nighma dans le forum Zend_Acl & Zend_Auth
    Réponses: 3
    Dernier message: 06/12/2007, 16h59
  4. Zend_Config + Zend_Registry + visibilité (scope)
    Par zonzon dans le forum Zend Framework
    Réponses: 5
    Dernier message: 25/09/2007, 19h17
  5. [Zend_Auth] - Authenticate problem
    Par jacquesh dans le forum Zend_Acl & Zend_Auth
    Réponses: 7
    Dernier message: 04/05/2007, 17h01

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