Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-06-2012 19:20:18

Anikon
Nouveau membre
Date d'inscription: 20-01-2009
Messages: 9

Probleme de class not found

Bonjour,

je suis actuellement entrain de faire des tests sur les ACL, j'ai donc suivi un tuto en le modifiant un peu et il y a un truc que je ne comprend pas bien. J'ai une classe :
MyAcl (class Application_Acl_MyAcl extends Zend_Acl) situé dans "/application/acl/MyAcl.php"

Je lui fait appel dans une methode _initAcl() du boostrap.php comme ca :
$acl = new Application_Acl_MyAcl();
Logiquement le framework devrait retrouvé cette classe puisque le nommage semble correcte
Application_Acl_MyAcl = application/acl/MyAcl.php

Est-ce que je me trompe quelque part ?

----------------------------------------------

D'autre part, j'ai une autre question concernant le bootstrap.php, j'ai l'impression que la plupart des actions que l'on fait dedans sont faisable dans le fichier application.ini alors pourquoi utiliser l'un plutôt que l'autre ???
Ex. :
-resources.view.doctype = "XHTML1_STRICT" (dans le application.ini)
-Sur le guide officiel on trouve ça :
protected function _initDocType()
    {
        $this->bootstrap('View');
        $view = $this->getResource('View');
        $view->doctype('XHTML1_STRICT');
    }

Pourquoi écrire 6 lignes quand on peux en écrire une seule ?

Dernière modification par Anikon (06-06-2012 19:21:10)

Hors ligne

 

#2 07-06-2012 11:01:37

Anikon
Nouveau membre
Date d'inscription: 20-01-2009
Messages: 9

Re: Probleme de class not found

Alors personne ne sait ?

Hors ligne

 

#3 07-06-2012 15:48:11

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Probleme de class not found

Les deux notations sont identiques, les choses ont simplement évolué au cours du temps et les différentes possibilités sont restés.

Hors ligne

 

#4 07-06-2012 16:31:55

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Probleme de class not found

Bonjour,

Reponse a la 1ere question:

Renomer "class Application_Acl_MyAcl extends Zend_Acl"
        par "class Application_Model_MyAcl extends Zend_Acl" ( ..._Model_... sans 's' )

Placer le fichier MyAcl.php dans "application/models/"   (models avec un 's')

Initialiser Bootstrap:

    protected function _initAcl()
    {
        $acl = new Application_Model_MyAcl(); 

                // code ....
    }

Dernière modification par us2rn4m2 (07-06-2012 16:32:26)

Hors ligne

 

#5 12-06-2012 18:24:31

Anikon
Nouveau membre
Date d'inscription: 20-01-2009
Messages: 9

Re: Probleme de class not found

Bonjour,

je n'avais pas vu vos réponses je ne crois pas avoir de mail d'avertissement. Bref merci du temps que vous avez pris pour répondre.

us2rn4m2 (c'est pas facile comme pseudo...) pourquoi mélanger les ACL avec les modèles ?

Hors ligne

 

#6 27-07-2012 15:18:46

us2rn4m2
Membre
Date d'inscription: 07-05-2011
Messages: 104

Re: Probleme de class not found

Ok, je savais que j'avais pas assure sur cette question. La reponse attendue est donc celle ci:

Dans le Bootstrap.php :

Code:

protected function _initLoader()
{
   $autoloaderResource = new Zend_Loader_Autoloader_Resource(array(
                                'basePath'  => APPLICATION_PATH,
                                'namespace' => 'Application')
                               );

   $autoloaderResource->addResourceType('acl', 'acl/', 'Acl');

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages