Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
Alors personne ne sait ?
Hors ligne
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
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
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
Ok, je savais que j'avais pas assure sur cette question. La reponse attendue est donc celle ci:
Dans le Bootstrap.php :
protected function _initLoader() { $autoloaderResource = new Zend_Loader_Autoloader_Resource(array( 'basePath' => APPLICATION_PATH, 'namespace' => 'Application') ); $autoloaderResource->addResourceType('acl', 'acl/', 'Acl');
Hors ligne