Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour tout le monde,
Mon but est d'arrivé à stocker des valeurs au lancement de l'appli, pour ne plus avoir à les recharger par la suite.
J'utilise Zend_Registry.
J'ai un petit souci, dans mon bootstrap j'enregistre une valeur ex:
Zend_Registry::set('index', $value)
Ensuite je controle si l'index que je viens de mettre dans le registre a bien une valeur ex :
if (Zend_Registry::isRegistered($index)) { }
ok jusque là ca fonctionne.
Mais quand le boostrap est rappelé de nouveau je check le registre mais la plus rien, c'est comme si il avait été vidé.
Du coup c'est pas bon puisque je viens reppeter les mêmes oppperations et je ne fais pas appel à la méthode _unsetInstance() dans mon script.
J'ai cherché sur plusieur forums et dans la doc en vain.
Est ce quelqu'un aurait une explication à ce problème ?
Merci.
Dernière modification par _Fuse_ (25-02-2009 09:15:59)
Hors ligne
That's normal.
Pour rappel, un registre n'est qu'un espace mémoire permettant à n'importe quel composant / partie d'une page d'y accéder. Les avantages des variables globales couplé a ceux d'un objet
Celui n'est donc pas transmis de page en page.
dans la doc, il est dit
Ce mécanisme est une alternative à l'utilisation du stockage global
et de mémoire les globals ne sont pas transmis pendant une session
Hors ligne
Heu oui là ya un manque de compréhension de PHP lui-même.
Contrairement à Java, il n'existe en PHP aucun mécanisme de persistance d'objet entre 2 requêtes.
Lorsqu'Apache a terminé son traitement, il détruit son processus, et donc toute la mémoire PHP avec.
Le seul mécanisme de persistance natif en PHP est la session. Evidemment, il existe des extensions permettant de rendre ses objets persistants, comme Memcached (que la session peut utiliser), ou APC
Hors ligne
Merci ndesaleux et Julien,
Pour vos réponses rapides et précises.
Je comprends beaucoup mieux maintenant, le pourquoi du comment
Hors ligne
Pages: 1