akkun_choi pedia
mindiaakkun_choi pedia見出し語

serialize

akkun_choi · 2009-04-06 更新 · 1 ポイント

PHPでオブジェクトや配列などをバイナリ化する。unserializeで元に戻せる。
オブジェクトにはメソッドの情報は入らない。あくまで変数のみ。

serialize.php
>|php|
<?php
class hoge{
private $priv = 1;
protected $prot = 2;
public $pub = 3;
function moge(){
echo 'this is ' . get_class($this);
}
}
$h = new hoge();
file_put_contents('hoge.ser', serialize($h));
echo $h->moge();
||<

unserialize.php
>|php|
<?php
//require_once('serialize.php');
$hoge = unserialize(file_get_contents('hoge.ser'));

echo $hoge->moge();
var_dump($hoge);

||<

hogeをロードしてなかったらこう言われる

Fatal error: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "hoge" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition

関連する見出し語