Develop and Download Open Source Software

Recent Changes

2011-03-30
2011-03-29
2011-03-23
2011-02-25
2010-05-20
2008-09-03

Wiki Guide

Side Bar

セッション情報の保持の仕方

前提として

んと。基本的にはユーザIDの類をkeyにするのですが(携帯だとサブスクライバIDの類使ったりもします)。
ぶっちゃけ制限緩いので。必ずしも「1ユーザ1セッションデータ」とは限りません。
まぁ使い方みて何となく想像してくんなまし。

セッションの使い方:初手

とりあえず、何はともあれここは必須。

  $sed_obj = new session_data_db;
  $sed_obj->set_db($this->get_db());
  $sed_obj->set_id($this->get_uid());
ポイントはset_idメソッド。通常uidそのまま使ったりするですが。例えばここにprefixだのsuffixだのをうまく用いると、1ユーザでも様々なセッションデータもてたりします。
無意味にやっても混乱するだけですが。上手にサイトを分離出来てたりすると色々便利だったりもするので。頭の片隅で「ふぅんそんな機能もあるんだぁ」くらいに覚えておいてください。

で。大抵の場合「今までの情報を引き継ぐ」必要があるので
  $sed_obj->read();
とやって以前の情報を引っ張り出します。すっかり忘れるとすっきりと消え去るので要注意。

セッションの使い方:データをぶち込む

基本的には「どんどん追加」と「同一のkeyがあるんなら上書き」の2種類。

  $sed_obj->add($key, $value);
  $sed_obj->add_once($key, $value);
どっちがどっちかはわかるよね? once付いてるほうが「同一のkeyがあるなら上書き」だからね?

セッションの使い方:データを探す

  $s = $sed_obj->find($key);
  $array = $sed_obj->find_array($key);

前者が単値、後者が配列でデータを探します。
ちなみに。

  $sed_obj->erase_key($key);
  $key_array = $sed_obj->get_all_keys();
なんてのもあったり。前者はkey値指定の削除、後者は「今ある全keyリスト」の取得。
key値指定無しで全削除したいときは
  $sed_obj->init();
で終わり。よござんすか? よござんすね?

セッションの使い方:データを書き込む

これやらないと「DBに反映されない」で切ない思いをするので注意。

  $sed_obj->write();
OK?


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.