セッションで扱うシリアライズ
概要
セッションにシリアライズのデータを保存して、セッション読み込みページで使用する
サンプル
定義クラス(TestClass02.class)
<?php
class TestClass02{
public $name;
public $memo;
function __construct(){
//echo __METHOD__ . "\n";
}
function testMethod01($data){
echo $data . "---\n";
}
function __destruct(){
//echo __METHOD__ . "\n";
}
function __wakeup(){
echo __METHOD__ . "\n";
}
function __sleep(){
echo __METHOD__ . "\n";
return array('name', 'memo');
}
}
シリアライズ処理
<?php
// 読み込み
require_once("TestClass02.class");
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>シリアライズテスト前ページ</title>
</head>
<?php
// インスタンス生成
$obj = new TestClass02();
$obj->name = "hogehoge2";
$obj->memo = "foo2";
$aaa = $obj->name;
$bbb = $obj->memo;
// 変数設定
$_SESSION['s'] = $obj;
?>
<body>
<p>セッション開始しました。</p>
<div>
name:<?php echo $aaa; ?><br>
memo:<?php echo $bbb; ?><br>
</div>
<br>
<a href="./sample12b.php">次へ移動</a><br>
</body>
</html>
アンシリアライズ処理
<?php
// 読み込み
require_once("TestClass02.class");
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>シリアライズテスト次ページ</title>
</head>
<?php
$s = $_SESSION['s'];
?>
<body>
<p>セッション継続しました。</p>
<div>
name:<?php echo $s->name; ?><br>
memo:<?php echo $s->memo; ?><br>
func:<?php echo $s->testMethod01("test"); ?><br>
</div>
<br>
</body>
</html>
イメージ
最終更新:2012年08月18日 00:24