- 追加された行はこの色です。
- 削除された行はこの色です。
[[Programming]]
以下,[[ここ:http://www.res-system.com/weblog/item/432]]からの引用.
セッション機能を使いオブジェクト自身をセッションに格納する,
逆に取り出す.
マニュアルによれば
>
serialize() は、PHPで保存可能な全ての値のバイト ストリーム表現を有する文字列を返します。 unserialize() は、この文字列を使用して元の変数 値を再生することが可能です。オブジェクトを保存するためにシリアル化を行うと、オブジェクトの全ての変数が保存されます。オブジェクトの関 数は保存されません。クラス名だけが保存されます。
<
A.php に一度アクセスし,続いて B.php にアクセスする.
やりとりするクラスを定義しているphpファイル(Test.php)は必ずインクルード
- Test.php
<?php
class Test {
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;
}
}
?>
- 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();
?>