Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-01-2008 12:07:15

zendframwork
Membre
Date d'inscription: 12-01-2008
Messages: 49

[Zf 1.0.3]où mettre mes classes??

bonjour a tous
voila j'ai un petit souci avec les classes qui se trouvent dans le tutorial de simon mandy class MyAcl et My_Plugin_Auth. j'ai voulu les placer dans library/zend/classes et dans le boutstrap j'ai fait appel a ces classe

Code:

class MyAcl extends Zend_Acl et My_Plugin_Auth
{
public function __construct(Zend_Auth $auth)
{
parent::__construct();
$roleGuest = new Zend_Acl_Role('guest');
$this->add(new Zend_Acl_Resource('home'));
$this->add(new Zend_Acl_Resource('news'));
$this->add(new Zend_Acl_Resource('tutorials'));
$this->add(new Zend_Acl_Resource('forum'));
$this->add(new Zend_Acl_Resource('support'));
$this->add(new Zend_Acl_Resource('admin'));
$this->addRole(new Zend_Acl_Role('guest'));
$this->addRole(new Zend_Acl_Role('member'), 'guest');
$this->addRole(new Zend_Acl_Role('admin'), 'member');
// Les invités peuvent uniquement voir le contenu
$this->allow('guest', 'home');
$this->allow('guest', 'news');
$this->allow('guest', 'tutorials');
$this->allow('member', 'forum');
$this->deny('member', 'forum', 'update'); // Suppresion d'un privilège spécifique
$this->allow('member', 'support');
$this->allow('admin'); // Accès sans aucune restriction
// Ajout d'un nouvel objet ACL
$this->allow('member', 'forum', 'update', new MyAcl_Forum_Assertion($auth));

}
}

si quelqu'un peut m'aider ça serai sympa
merci a tous et bon code

Hors ligne

 

#2 31-01-2008 13:26:10

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zf 1.0.3]où mettre mes classes??

Voici une petite liste de conseille perso:
- Ne jamais mettre tes classes dans avec celle de zend (pas pratique en terme d'évolution)
- Mettre ces propres classes réutilisables dans un répertoir du même niveau que celui de zend
- Mettre ces classes propres à une application donnée dans le répertoire application/models

J'ai ainsi perso un arbo smililaire à cela:

Code:

library/
    Zend/
    Rx/ -> ma librarie maison :)

application/
    controllers/
    models/
        //ici mes classes spécifiques (donc dans ton cas je mettrai MyAcl ici car dépendant de ton appli)
    //... cf liens ci dessous

Je te conseille de (re)lire le quickstart mvc: http://framework.zend.com/manual/fr/zen … quickstart qui t'éclairera la dessus wink

Hors ligne

 

#3 31-01-2008 14:40:43

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Zf 1.0.3]où mettre mes classes??

oui ne rien mélanger

Code:

library/
    Zend/
    Rx/ -> ma librarie maison :)

application/
    controllers/
    models/

        //ici mes classes spécifiques (donc dans ton cas je mettrai MyAcl ici car dépendant de ton appli)
    //... cf liens ci dessous

Pour ma part je regarde la nature des classes
il y a des classes générales date, hypercube, etc. qui ne sont pas propre à ton application mais qui peuvent être utiliser par d'autre applications.
dans ce cas je le splaces dans un dossier de library que je nomme en fonction de leur provenance.

Code:

library/
    Zend/
    Rx/ -> ma librarie maison :)
    Ibm/ -> ma librarie maison :)
    Phpclasses/ -> ma librarie maison :)
    Zfforum/ -> ma librarie maison :)

puis il y a celles qui son propre à l'application là je distingue leur nature
Classes metier
Classes de vue
Classes utilitaires

Code:

library/
    Zend/
    Rx/ -> ma librarie maison :)
    Ibm/ -> ma librarie maison :)
    Phpclasses/ -> ma librarie maison :)
    Zfforum/ -> ma librarie maison :)
application/
    controllers/
    models/
    views/
    tools/

j'organise ces dossiers en sous dossier en fonction de l'utilité de la classe par exemple le helper qui sert à générer le menu de l'application est commun à toutes les vues il va donc dans application/views
mais le helper qui sert à générer l'aide à la saisie de la vue de gestion des client vas dans
application/views/client etc.

même fonctionnement pour le reste
donc les ACL pour moi sont dans
/application/metier/security/ ce dossier contenant les classes entrant dans la gestion de la sécurité.

A+JYT

Hors ligne

 

#4 31-01-2008 14:46:42

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: [Zf 1.0.3]où mettre mes classes??

J'ai exactement la même approche que sekaijin.

Hors ligne

 

#5 31-01-2008 15:07:44

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zf 1.0.3]où mettre mes classes??

Par curiosté sekaijin, tu mets quoi dans application/tools ?

Hors ligne

 

#6 31-01-2008 15:50:59

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Zf 1.0.3]où mettre mes classes??

convert.php
classe qui contient

getUniversalUniqueId()
sqlToMyAppDate()
myAppto2SqlDate()
toLMmJVSD()
des chose comme ça des fonction utilitaire qui ne sont pas du métier qui servent à droite et à gauche et que je ne sais pas où mettre car elle ne concerne ni une ou des vues ni un ou plusieurs métier et qui ne sont pas des fonctions réutilisables mes spécifiques à cette application.

par exemple j'ai une application qui communique avec d'autre systèmes qui utilisent des chaînes comme
'02456' et 'DMJVS' qui en fait représentes des jours de la semaine Dimanche Mardi Jeudi Vendredi Samedi

bref je reçois la donnée sous la forme '1235' et je l'utilise la donner à un objet métier qui est défini dans l'API avec le format 'LMmJ'

je pourrais très bien mettre dans une classes qui surcharge l'objet métier mais c'est lourd pour si peu
Je pourrais aussi en faire une fonction dans mon contrôleur mais j'en ai besoin dans plusieurs module
Je pourrais en faire une classes spécifique et la mettre dans la librairy mais en fiat je ne la réutiliserait pas

bref le pot pourrit qu'un ne devrait jamais avoir car on a trop tendance à y fourguer tout et n'importe quoi.
Mais par expérience je sais que c'est aussi un bon incubateur. que d'appli en appli certaine chose comme ça qu'on ne devait pas réutiliser se retrouve recopiés et modifier jusqu'au jour où on ce dit qu'il y a peut être matière à

A+JYT

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