Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour, j'utilise Zend_registry pour pouvoir stocker des valeurs et ainsi les utiliser partout dans mon application seulement quand je passe d'une action à une autre, mon entrée n'existe plus et je ne comprends pas pourquoi, j'ai bien regardé la documentation et tout est pareil, voici mon code:
. Action A:
Zend_Registry::set('valeur', 1);
. Action B:
Zend_Registry::get('valeur');
Et mon message d'erreur:
No entry is registered for key 'valeur'
Pourtant si j'affiche l'instance de Zend_registry juste après avoir entré ma valeur (dans la même action donc), je la retrouve bien.
Comment ça se fait svp?
Hors ligne
Tu n'as pas compris le fonctionnement du composant Registre, il ne stock rien en session c'est donc logique que lors du changement d'action la valeur n'existe plus
ps : il faut faire attention à ne pas utiliser le registre dans tous les sens, c'est plutôt censé être utilisé pour stocké de la config que tu initialise ds ton bootstrap par exemple.
Hors ligne
Dans ce cas, je ne vois pas l'intérêt du registre mais il est écrit ça dans la documentation: "En stockant la valeur dans le registre, le même objet est toujours disponible partout dans votre application"
Je vais me diriger vers Zend_Session_NameSpace dans ce cas.
Hors ligne
Le registre est très utile, par exemple tu le couple avec Zend_Config et tu l'initialise ds ton bootstrap puis tu appel tes données n'importe ou dans l'appli. Enfin tu comprendra son utilité avec le temps
Ce qu'il faut retenir c'est que le registre ne sert en aucun cas à passer des données d'une action à une autre.
Hors ligne
Donc ca peut être utilise si je stock des valeurs dans mon fichier de configuration par exemple du style l'endroit du répertoire d'upload de mes images ou l'adresse mail de contact?
Je viens de regarder les Zend_Session_NameSpace grâce à la documentation mais quand j'initialise un namespace, j'obtiens une erreur comme quoi c'est déjà fait mais du coup, pour stocker une valeur en session, je dois créer un namespace mais je ne peux pas, comment je peux procéder?
(Je vais finir par être celui qui a demandé le plus d'aide sur le forum )
Hors ligne