2007/04/22: PHPで$_SESSIONや$_COOKIEにオブジェクトを保存する方法
あれ、できたっけ?と思ってやってみると、そのままオブジェクトを突っ込んでもダメで、色々調べたらある関数を使うとできることがわかりました。
serialize()と、unserialize()を使えばOKみたいです。
使い方は、保存するときに、
require_once "Object.php"; //ここでは別ファイルに定義したクラスが書かれているとする。
$obj = new Object(); // Objectは、自分で定義したクラス
$sdata = serialize( $obj ); //シリアライズする。
$_SESSION["OBJ"] = $sdata; //セッションに保存。
とします。
で、他のページに移ったときに、
Objectクラスをちゃんと読み込んでから、元に戻します。
require_once "Object.php";//ちゃんとクラスの定義を読み込む
$sdata = $_SESSION["OBJ"];
$obj = unserialize( $sdata );
これは便利ですね。
詳しくはこちら。
http://php.plus-server.net/language.oop.serialization.html
トラックバックURL
serialize()と、unserialize()を使えばOKみたいです。
使い方は、保存するときに、
require_once "Object.php"; //ここでは別ファイルに定義したクラスが書かれているとする。
$obj = new Object(); // Objectは、自分で定義したクラス
$sdata = serialize( $obj ); //シリアライズする。
$_SESSION["OBJ"] = $sdata; //セッションに保存。
とします。
で、他のページに移ったときに、
Objectクラスをちゃんと読み込んでから、元に戻します。
require_once "Object.php";//ちゃんとクラスの定義を読み込む
$sdata = $_SESSION["OBJ"];
$obj = unserialize( $sdata );
これは便利ですね。
詳しくはこちら。
http://php.plus-server.net/language.oop.serialization.html