ファイルに保存するシリアライズ

概要

ファイルにシリアライズのデータを保存して、読み込み時に再利用する


サンプル

定義クラス(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