[[Programming]] 以下,[[ここ:http://www.res-system.com/weblog/item/432]]からの引用. セッション機能を使いオブジェクト自身をセッションに格納する, 逆に取り出す. マニュアルによれば > serialize() は、PHPで保存可能な全ての値のバイト ストリーム表現を有する文字列を返します。 unserialize() は、この文字列を使用して元の変数 値を再生することが可能です。オブジェクトを保存するためにシリアル化を行うと、オブジェクトの全ての変数が保存されます。オブジェクトの関 数は保存されません。クラス名だけが保存されます。 < A.php に一度アクセスし,続いて B.php にアクセスする. やりとりするクラスを定義しているphpファイル(Test.php)は必ずインクルード - Test.php <?php class Test { class Test { var $id; var $name; function setUserid($id) { $this->id = $id; var $id; var $name; function setUserid($id) { $this->id = $id; } function setName($name) { $this->name = $name; } function getUserId() { return $this->id; } function getName() { return $this->name; } } function setName($name) { $this->name = $name; } function getUserId() { return $this->id; } function getName() { return $this->name; } } ?> - A.php <?php session_start(); require 'Test.php'; //testオブジェクトを生成 $test = new Test(); //testオブジェクトに値をセット $test->setUserId('001'); $test->setName('ABC'); //testオブジェクトをセッションに格納 $_SESSION['test'] = serialize($test); ?> - B.php <?php require 'Test.php'; session_start(); //testオブジェクトをセッションから取り出す $test = unserialize($_SESSION['test']); //testオブジェクトの各値を出力 echo "<BR>"; echo $test->getUserId() ; echo "<BR>"; echo $test->getName(); ?>