Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-07-2008 15:47:57

Amnesiak
Nouveau membre
Lieu: Belgique, Huy
Date d'inscription: 16-05-2008
Messages: 5
Site web

[1.5] Fichier boostrap pour chaque module

Bonjour,

J'aimerais savoir si, dans le cas d'une application basée sur une architecture modulaire, il est possible de créer un genre de fichier "bootstrap" similaire à celui appelé pour configurer l'application, mais qui serait plutôt charger de préparer un environnement (constantes, includes, objets globaux, etc...) propre à chaque module.

Merci d'avance

Hors ligne

 

#2 19-07-2008 20:23:51

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

Re: [1.5] Fichier boostrap pour chaque module

quelle étrange idée.
tu peux agir sur le front contrôleur avant le dispatching pour charger les constantes le conf et tout le tralala sans avoir à faire plusieurs bootstraps.
pour ma part j'ai agit sur la classe Zend_Contrôleur_Action

La doc dit que toutes les contrôleurs doivent dériver de cette classe. mais rien n'interdit de mettre des classes intermédiaires.
pour ma part j'ai donc les classes suivantes.
Zend_Controller_Action
Fast_Controller_Action etends Zend_Controller_Action
Application_Controller_Action etends Fast_Controller_Action
ou
ModuleX_Controller_Action etends Fast_Controller_Action

du coup je peux redéfinir le pré et le post dispatch où je veux
dans Fast cela me permet d'ajouter une fonctionnalité à toutes mes applications (capitalisation)
Application permet de jouer sur tous les contrôleurs du module par defaut de l'application.
ModuleX Permet de jouer sur tous les contrôleur du module

mais il est aussi possible de redéfinir pre et post dispatch dans chaque côntrolleur.

en jouant sur la hiérarchie des classes il est possible d'avoir Zend_Controller_Action puis une classe pour toute l'application puis une par module de l'application.

ainsi pas besoin de faire des bricolages tu charge et définit les éléments que tu veux dans le contexte que tu veux.

A+JYT

Hors ligne

 

#3 20-07-2008 11:49:09

Amnesiak
Nouveau membre
Lieu: Belgique, Huy
Date d'inscription: 16-05-2008
Messages: 5
Site web

Re: [1.5] Fichier boostrap pour chaque module

Bonjour Sekajin

Merci pour cette belle explication, je vais essayer de la mettre en pratique de ce pas.
Mon étrange idée témoigne en effet d'une mauvaise connaissance du framework, j'essaie d'y remédier petit à petit, notamment grâce à des messages comme le tiens wink

Merci encore, a+

Hors ligne

 

#4 21-07-2008 18:48:53

Amnesiak
Nouveau membre
Lieu: Belgique, Huy
Date d'inscription: 16-05-2008
Messages: 5
Site web

Re: [1.5] Fichier boostrap pour chaque module

Hello,

Après m'être plongé dans cette solution, il me reste :

un point nébuleux :
Je n'ai pas réellement saisi la différence entre Fast_Controller_Action et Application_Controller_Action, mais c'est certainement parce que je n'ai eu l'occasion que de travailler sur des projets de petite ampleur qui ne contenaient chaque fois qu'une seule application. J'imagine qu'on pourrait avoir plusieurs applications distinctes qui fonctionneraient sur un même serveur avec un seul framework.

Et une petite question d'ordre pratique :
Ou est-il préférable de ranger les classes intermédiaires ? Dans models, controllers ou directement dans les répertoires du framework ?

Un grand merci d'avance !

Hors ligne

 

#5 22-07-2008 00:15:04

Azema
Membre
Lieu: Paris
Date d'inscription: 26-09-2007
Messages: 51
Site web

Re: [1.5] Fichier boostrap pour chaque module

Salut Amnesiak,

La classe Fast_Controller_Action de Sekaijin est la classe générale de tous tes controllers de tous les modules.

Alors que la classe Application_Controller_Action est la classe principale tous les controllers d'un module, en particulier celui par défaut.
Mais tu dois la définir autrement pour un module en particulier, en mettant le nom de ton module comme préfixe, comme te l'a indiqué Sekaijin.
Ex : ModuleXX_Controller_Action sera la classe controller de tous les controllers de ton module "ModuleXX"

Pour mieux comprendre cela, il faut étudier l'architecture du framework, ça aide bcp.

Pour ce qui est du rangement, pour ma part je mets ça dans ma librairie.

Cordialement, Azema.

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