TAKAHASHI Kunihiko
takah****@knosp*****
2005年 10月 7日 (金) 19:45:43 JST
高橋(kunit)です。 On Thu, 06 Oct 2005 21:30:38 +0900 hashimoto <hashi****@yahoo*****> wrote: > 初めてメールさせて頂きます。 > WEB+DB27などを参考に、数日前より勉強させて頂いております橋本と申します。 > ちょっとした疑問がありまして投稿させて頂きました。 > はじめまして。今後とも気軽に質問してください。 > 2画面に渡るフォームを作成しております。 > 流れとして、1画面目で取得した値をDIコンテナ上のオブジェクトにセットし、 > そのDIコンテナをセッションコンテナに保存。 > 2画面目では、まずセッションコンテナのオブジェクトを取得し、そのオブジェ > クトに、2画面目で取得した値をセットするのが美しいと考えてみました。 > 間違っています? > 現状の仕様ではDIコンテナはリクエスト毎に生成⇒破棄されるので、 それ自体をセッションで持ちまわるようにはなっていません。 JavaのようにDIコンテナ自体がずーっと保持され続ければまた世界が 変わってくるとは思うのですが、PHP単体ではそれは厳しいのでそうは なっていません。 なので、各画面で取得した値だけを自分でセッションに詰めて、 次の画面を処理するActionで取り出すということを自分でする必要が あります。(配布しているもののexample3もしくはexample4をみて いただければSessionクラスの例になっています) 基本DIコンテナ自体をアプリケーションが保存⇒復元させるというのは よろしくない(フレームワーク側がすべきこと)ので、そういう形に なると思います。 ・・・ということを書きながら、今のDIコンテナがリクエストスコープしか 対応してないのが不親切なんではないかと思いました。DIコンテナにいれる 値によってはセッションスコープもありにできるよう検討してみたいと 思います。 #という回答であってます? --- TAKAHASHI Kunihiko KNOSPEAR Inc.