Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-05-2009 17:25:22

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

[Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Bonjour,

Je début avec ZF et ça doit faire 3-4 jours que je scrute le web pour divers interrogations. J'ai opté pour une arborescence de comme celle-ci:

Code:

/root
  /application
    /default
    /login
    /panel
  /library
  /core <-- tout mon basard ;)
  index.php

Pour la partie admin, il y 2 solutions :
- soit connecté donc sur panel
- soit pas connecté donc sur login (logique me diriez vous !)

Mais le problème n'est pas là c'est dans mes "dossiers modulaire" (je reprends le langage de la doc ZF).

Dans mon index.php, je suis obligé de définir un par un la liste de mes modules comme suit :

Code:

$front = Zend_Controller_Front::getInstance ( );
$front->setControllerDirectory(array(
      'default' => ROOT.S.'application/default/controllers',
      'login'    => ROOT.S.'application/login/controllers',
      'panel'   => ROOT.S.'application/panel/controllers'
));

Le souci est que je risque d'avoir plus que 3 modules dans la suite de mon développement. Je souhaite me créer une petite install de modules donc mettre dans mon fichier INI la liste ne serait pas dans mon cas, une excellente idée !

Avez-vous une idée sur, de quel manière je pourrais rendre dynamique cette partie de mon script ?

Et est-ce vraiment obligatoire de charger l'ensemble des modules ?

Merci de votre aide.

Dernière modification par nicko (26-05-2009 17:26:29)

Hors ligne

 

#2 26-05-2009 17:46:03

DavidV
Membre
Date d'inscription: 19-05-2009
Messages: 19

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Je n'ai jamais fais ca mais ... si je ne me trompe, le module est surtout utile au moment du dispatch.
Hors tu as la possibilité d'enregistrer des plugins qui vont étendre Zend_Controller_Plugin_Abstract et (dans ton cas) définir la méthode dispatchLoopStartup qui s'exécute avant le dispatch.

Donc à ta place je ferai un plugin qui fait des addControllerDirectory en se basant sur un fichier ini ou une base de donnée.

http://framework.zend.com/manual/fr/zen … troduction
http://framework.zend.com/manual/fr/zen … rdirectory

Hors ligne

 

#3 26-05-2009 17:49:42

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Merci pour cette réponse aussi rapide.

J'ai pas compris grand chose à ce que tu as dit, mais avec tes mots clés et les deux liens je pense que je vais m'en sortir.

je vais voir ça ...

Hors ligne

 

#4 26-05-2009 18:46:48

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

le module est surtout utile au moment du dispatch

Que veux tu dires par la. Pardonne mon ignorance mais je n'ai pas encore tout saisi de ZF

Hors ligne

 

#5 26-05-2009 19:32:03

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Il y a moyen d'activer les modules en auto si cela peut t'être util. J'utilise ce code dans mon Bootstrap pour annoncer un répertoire qui contient tout mes modules, du coup pas besoin de les annoncer les uns après les autres :

<code>
    protected function _initControllers()
    {
        $this->bootstrap('FrontController');
        $this->frontController->addModuleDirectory(APPLICATION_PATH . '/modules');
    }
</code>

Je n'ai pas re-essayé mais il me semble que la version 1.8.0 du ZF est buggée et ne permet pas d'activer les modules depuis le config.ini. C'est prévu par contre.


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#6 26-05-2009 20:04:14

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Merci ça m'intéresse. Mais je pense que je n'est pas vraiment compris sur le principe des modules ...

Dites moi si je me trompe. Je vais prendre mon cas :

Je souhaite créer un admin avec le strict minimum. c'est a dire de quoi ce loguer, un panel de base et un installer.

L'installer me permettra d'ajouter des fonctionnalités supplémentaires à mon application.

Vous aller me dire un admin vide ne sert à rien, mais j'ai 3 sites que je souhaiterai un peu uniformiser ...

Voila comment je vois la chose:

Dans mon dossier application j'ai actuellement 3 modules (corriger si je n'emploie pas le bon terme), 4 avec l'installer :



Code:

/application
  /default 
  /login
  /panel
  /installer <-- j'y suis pas encore

Actuellement le default me permet simplement de dire si je ne suis pas connecté et que l'url du site est de type :
www.exemple.com/

rediriger vers :
www.exemple.com/login

si connecter alors :
www.exemple.com/panel

Ensuite le dossier login et bien comme son nom l'indique, il logue et redirige vers panel

si je suis logué et que je tape une url de type www.exemple.com/login ça me redirige vers www.exemple.com/panel. Par contre pour le moment dans l'autre sens c'est pas encore bon mais ça c'est mon problème me direz vous wink

Plus tard, il y aura l'installer qui lui ajoutera autant de dossiers que de fonctionnalités. Par exemple la gestion de mes membres.

Il créera donc un dossier supplémentaire comme ci-dessous :

Code:

/application
  /default 
  /login
  /panel
  /installer
  /gestionMembres <-- la fonctionnalité supplémentaire
    /controllers
    /models
    /views
      /scripts
        listUsers.php
        addUsers.php
        ...

Alors dans ma logique, pouvez-vous me dire si ma gestion est correcte où l'auriez-vous différemment ?

Hors ligne

 

#7 27-05-2009 09:07:49

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Un module pour juste s'authentifier ça fait peut être beaucoup non ?
J'aurai mis un controller login dans mon module panel

Trop de module tue le module wink


Société : Direct Info Service

Hors ligne

 

#8 27-05-2009 09:19:33

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Zend_Controller_Front][1.8.0]Problème gestion des dossiers modulaire

Oui, je me suis dit la même chose hier quand j'ai écris cela. Du coup je pense aussi qu'il est plus judicieux de mettre quelques œufs dans le même panier. lol

Ps: Promis je ne ferais plus de vannes pourris comme celle-ci wink

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