ファイルに保存するシリアライズ
概要
ファイルにシリアライズのデータを保存して、読み込み時に再利用する
サンプル
定義クラス(TestClass01.class)
<?php
class TestClass01{
public $name;
public $memo;
function __construct(){
echo __METHOD__ . "\n";
}
function testMethod01($data){
echo $data . "---\n";
}
function __destruct(){
echo __METHOD__ . "\n";
}
}
シリアライズ処理
<?php
// 読み込み
require_once("TestClass01.class");
// インスタンス生成
$obj = new TestClass01();
$obj->name = "hogehoge2";
$obj->memo = "foo2";
// 表示
var_dump($obj);
// シリアライズ
$s = serialize($obj);
// ファイルに書き込み
file_put_contents('obj_data.txt', $s);
>php.exe -f sample11.php
TestClass01::__construct
object(TestClass01)#1 (2) {
["name"]=>
string(9) "hogehoge2"
["memo"]=>
string(4) "foo2"
}
TestClass01::__destruct
>
シリアライズしたファイル(obj_data.txt)
O:11:"TestClass01":2:{s:4:"name";s:9:"hogehoge2";s:4:"memo";s:4:"foo2";}
アンシリアライズ処理
<?php
// 読み込み
require_once("TestClass01.class");
// ファイルを読み込み
$s2 = file_get_contents('obj_data.txt');
// シリアライズ復元
$obj = unserialize($s2);
// オブジェクト表示
$obj->testMethod01("aaaaaaaa");
var_dump($obj);
>php.exe -f sample12.php
aaaaaaaa---
object(TestClass01)#1 (2) {
["name"]=>
string(9) "hogehoge2"
["memo"]=>
string(4) "foo2"
}
TestClass01::__destruct
>
最終更新:2012年08月17日 23:49