php 5.4 + zend flamework 1を使っているのですが、
セッションの値が何らかの理由で取得できない場合に、レジストリにセットしておいた値を取得しようとしています。
ただ、レジストリにセットした値は、画面遷移を行うとクリアされてしまうようで、
遷移先の画面にて「'Zend_Exception' with message 'No entry is registered for key ~」が発生してしまいます。
流れとしては以下のとおりです。
①画面Aに遷移した際に、とあるリクエストパラメータをセッションとレジストリにセットする。
②画面Aの処理で、セッションとレジストリにセットされた値を参照することができる。
③画面Aから画面B遷移する。
④レジストリの値を参照しようとすると、上記の'Zend_Exception'が発生する。
※セッションの値は参照できるが、ごくまれにセッションの値が消えてしまうので、
レジストリの値を参照したい。
④のタイミングで適当な値をレジストリに登録すれば参照はできているので、書き方に間違いはないと思われます。
Zend_Registry::set('key', 'aaa');
$var = Zend_Registry::get('key');
そもそもレジストリの使い方がまちがっているのかということと、
実現するための代替案等あればご教授いただきたいと思いますので、よろしくお願いいたします。
あなたの回答
tips
プレビュー