Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-04-2009 01:04:43

jbunel
Membre
Lieu: Paris
Date d'inscription: 25-06-2008
Messages: 89
Site web

[ZF 1.7] Utilisation de constantes dans le MVC

Bonjour à tous.

Est-il déconseiller d'utiliser des constantes à travers le système MVC de Zend Framework ?
Ne vaut-il pas mieux utiliser Zend_Registry ?
Par avance merci pour vos réponses.

Hors ligne

 

#2 22-04-2009 09:11:15

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

A la limite si tu veux remplacer des constantes, utilise Zend_Config avec un .ini/xml
Zend_Registry c'est plus pour avoir des variables "super"globals (par exemple pour se trimballer l'adaptateur Zend_Translate dasn toute l'appli)

Hors ligne

 

#3 22-04-2009 10:44:58

jbunel
Membre
Lieu: Paris
Date d'inscription: 25-06-2008
Messages: 89
Site web

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Ok. Merci pour l'info.

Hors ligne

 

#4 22-04-2009 11:50:57

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

tu peux utiliser des constantes et des constantes de classes

les fichier de conf sont a utiliser pour de la conf rien a voir avec une constante qui elle ne peut être changé même par configuration.

enfin tu peux utiliser Zend_Config pour gérer ta config et placer l'objet config dans la registry c'est tout de même ce qu'il y a de plus pratique pour de la conf.

A+JYT

Hors ligne

 

#5 22-04-2009 14:21:58

jbunel
Membre
Lieu: Paris
Date d'inscription: 25-06-2008
Messages: 89
Site web

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Donc pour toi sekaijin, je peux utiliser des constantes.
Cela ne risque pas d'interférer avec le système MVC proposer par Zend.

Je déclare comme ci dessous dans le bootstrap :

Code:

define('BASE_URL', 'http://www.nationale13.com/');
define('PUBLIC_URL', BASE_URL . "public/");
define('CLIENT_URL', BASE_URL . "client/");
define('ADMIN_URL', BASE_URL . "admin/");

Et le tour est joué.
Bon et bien encore merci pour cette info.

Hors ligne

 

#6 22-04-2009 14:39:52

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

non pour le base url tu n'a pas besoin de déclarer une constante
Zend a un propriété pour ça
dans ton bootstrap tu fait un setBaseUrl sur le front controller
ensuite ce baseUrl ne doit pas contenir l'adresse du serveur mais uniquement '/' ou '/le/chemin/de/mon/application/'

ZF se charge du reste

si pubic , client et admin sont différent controller ou modules ça ne sert à rien de les déclarer là encore ZF le fait pour toi

A+JYT

Hors ligne

 

#7 22-04-2009 17:30:38

jbunel
Membre
Lieu: Paris
Date d'inscription: 25-06-2008
Messages: 89
Site web

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Merci pour tes infos. Une dernière question je ne comprends pas cette histoire de 'module' pour l'url.
j'ai lu que Zend_Controller_Router_Rewrite analyser l'url et la découper en 3 :
"module"/"controlleur"/"action".
Mais à quoi correspond le module ?

Hors ligne

 

#8 22-04-2009 18:47:55

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

un module est un groupe de contrôleur
par exemple tu mets dans un dossier
/client/controllers des controller pour la gestion client
avec /client/views pour les vue et /client/model pour les modèle pour les client
et pareil pour l'admin

du coup pour accéder à tes contrôleur client tu fais /client/manager/search

ça permet de découper l'application en plusieurs unités

A+JYT

Hors ligne

 

#9 11-06-2009 11:38:31

LeDuc08
Membre
Date d'inscription: 23-02-2009
Messages: 22

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Bonjour,
J'essaye d'implémenter le module Zend_Translate à mon site.
En prenant exemple sur du code existant, je met mon objet translate dans la registry:

Code:

 Zend_Registry::set('Zend_Translate', $translate);

Un peu plus haut, Mr.MoOx confirme ce mode de fonctionnement, mais pour récupérer mon objet, pour l'instant je fait un :

Code:

 $translate = Zend_Registry::get('Zend_Translate');

Action qui se répète dans quasiment toutes mes pages de vue + certaines des controlleurs...
Je trouve cela un peu répétitif, est-ce que je ne passerai pas à coté  de quelque chose de plus simple?

Question parallèle, si j'ai plusieurs actions d'un même controlleur qui ont besoin de mon objet translate, comment faire pour n'écrire qu'une seul fois l'appel au registre?
J'ai essayer en le mettant dans la fonction init de mon controlleur mais sans réussite ;-(

D'avance merci à vous.

Hors ligne

 

#10 11-06-2009 14:16:27

Nikko
Membre
Lieu: Rueil (Haut-de-Seine)
Date d'inscription: 19-12-2008
Messages: 95

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Je ne suis pas expert, et certains plus expérimentés que moi me contredirons sûrement, mais pourquoi ne pas passer par un plugin ?


Nikko

Etudiant en école d'ingénieur à l'INSIA

Hors ligne

 

#11 12-06-2009 09:10:09

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Depuis Zend_Application, je me suis créé une classe Xxx_Application_Resource_Config qui charge dans le registre une Zend_Config provenant du application.ini.

Hors ligne

 

#12 17-06-2009 14:07:39

LeDuc08
Membre
Date d'inscription: 23-02-2009
Messages: 22

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Ok, je note la réponse et je vais voir pour me créer une classe Xxx_Application_Resource_Config.
Pour le second point, est-ce que vous auriez une idée?
--> Comment faire pour qu'un controlleur effectue automatiquement une opération quelconque dès qu'on l'appel.
       Je pensais que c'était justement le rôle de la fonction init, mais cela ne fonctionne pas.

Merci pour vos réponses.

Hors ligne

 

#13 17-06-2009 17:37:18

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Si si le init() sert à ça. C'est que tu dois mal l'utiliser.
Tu l'utilise sur ton controller, sur oun controller commun a ton appli? N'est il pas surchargé ce qui fait que tu "perds" ton code ?

Hors ligne

 

#14 17-06-2009 17:43:09

LeDuc08
Membre
Date d'inscription: 23-02-2009
Messages: 22

Re: [ZF 1.7] Utilisation de constantes dans le MVC

J'utilise le init() qui est la première fonction déclaré de mon controller qui n'est pas surchargé.
Mais j'ai pu vérifier que dans d'autre controllers cela fonctionnait effectivement.
Je vais regarder plus en détail, car j'ai fait le test sur le controller index qui a peut être un comportement spécifique vis à vis de cette fonction.
En tous cas merci pour ton aide.

@ ++

Hors ligne

 

#15 17-06-2009 17:46:27

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

Re: [ZF 1.7] Utilisation de constantes dans le MVC

Je vais regarder plus en détail, car j'ai fait le test sur le controller index qui a peut être un comportement spécifique vis à vis de cette fonction.

Pas à ma connaissance smile

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