Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-08-2012 18:59:29

LapinOuf
Nouveau membre
Date d'inscription: 19-05-2011
Messages: 1

Registry

Hey,

Je me lance dans ZF2, mais ou est donc passé mon Zend_Registry !?

Quel est le meilleur équivalent maintenant pour faire la même chose ?

Merci beaucoup par avance

Hors ligne

 

#2 09-08-2012 22:52:28

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: Registry

Salut,

Registry a disparu. La raison principale est que Registry était utilisé à tort. Sous ZF 1, il était la plupart du temps utilisé dans le but de gérer les dépendances entre les objets (par exemple, de nombreux composants accédaient au composant de traduction en le récupérant dans le registre). De ce fait, la plupart des développeurs l'utilisaient pour y stocker tout plein de choses afin de les récupérer un peu partout.

C'est une manière relativement sale de programmer (très compliqué d'y faire des tests unitaires, notamment). Maintenant, la gestion des dépendances fonctionnent exclusivement par le composant ServiceManager (ou éventuellement le Di pour les utilisateurs un peu plus "avancés" qui en comprennent les limitations et les possibilités), qui permet de définir de manière explicite et bien plus propre les différentes dépendances entre tes objets.

Je te suggère évidemment d'aller lire la documentation à ce sujet : http://packages.zendframework.com/docs/ … index.html

Ceci étant dit, le Registre a été complètement supprimé afin de pousser les utilisateurs à ne surtout pas l'utiliser (certains pourraient y être tentés par facilité), mais le Registre a parfois quelques cas d'utilisations pour lesquels le ServiceManager n'est pas très pratique.

Crois pas, c'est un mal pour un bien de ne plus avoir de Registry ;-).

Hors ligne

 

#3 14-08-2012 11:33:16

lodotbe
Membre
Date d'inscription: 21-06-2012
Messages: 14

Re: Registry

Salut,

C'était effectivement très pratique, le Registry.

J'ai lu (et re-relu) la doc mais je ne vois toujours pas comment stocker des infos comme je le faisais avant.
(je suis blonde mais ce n'est pas une raison wink ... je trouve la doc officielle et le DI un peu obscures ...)

Par exemple, des infos sur l'utilisateur provenant de la db et collectées au login.
Ou l'arborescence de ma navigation dynamique, toujours provenant de ma db au login (dépend de l'utilisateur), pour ne pas la relire à chaque fois.

Où et comment gérer tout ça?
Aurais-tu un petit exemple?

Merci

Hors ligne

 

#4 14-08-2012 14:07:26

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Registry

Je ne sais pas si c'est propre mais stocker ça en session ne serait pas une solution ? Sinon je ne vois pas vraiment d'autre solution ... A moins qu'une classe statique déclarée par le service manager en mode partagée fasse l'affaire ?

Hors ligne

 

#5 14-08-2012 14:57:14

lodotbe
Membre
Date d'inscription: 21-06-2012
Messages: 14

Re: Registry

Oui, je pensais aussi à la session mais je trouvais ça un peu bof...
Je vais voir du côté des classes statiques.

Merci

Hors ligne

 

#6 14-08-2012 15:55:53

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: Registry

Oula oula évite les classes statiques et les "astuces" pour tenter de revenir à l'ancien comportement.

J'ai écrit un article il y a pas longtemps (http://www.michaelgallego.fr/blog/?p=208) - désolé en anglais -, qui pourrait peut-être t'aider à comprendre un peu la gestion des dépendances.

Dans ton cas précis, "des infos sur l'utilisateur provenant de la db et collectées au login" => pourquoi ne pas utiliser le composant Zend\Authentication\AuthenticationService ?

Je suis d'accord que cette nouvelle façon de penser au niveau des dépendances va dérouter de nombreuses personnes habituées au Registry, mais crois-moi, essaye vraiment de comprendre ce concept (c'est vrai qu'il manque un peu de doc), tes applications n'en seront que plus faciles à maintenir, à tester, à faire évoluer...

As-tu lu la partie "User Guide" : http://packages.zendframework.com/docs/ … index.html ?

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