マジックメソッドを巡る旅 その9
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その9」を公開しました。
「serialize() 、unserialize() 経由で__sleep(), __wakeup()のマジックメソッド」、
とうとう本題となります!
ちなみに余談ですが、コラムが60回目になります。干支だと一周回りましたねびっくりです。
改めて、しっかりと頑張っていきたいと思いますので、引き続き宜しくお願いいたします。
さて。
いつもの如く、まずはマジックメソッドが「どんなタイミングで動くのか」を、見ていきましょう。
class hoge {
public function __sleep() {
echo “calling __sleep\n”;
}
public function __wakeup() {
echo “calling __wakeup\n”;
}
public function set_i($i) { $this->i_ = $i; }
public function set_j($i) { $this->j_ = $i; }
//
private $i_;
private $j_;
}
//
$obj = new hoge();
$obj->set_i(10);
$obj->set_j(20);
echo “before call serialize\n”;
$s = serialize($obj);
echo “called serialize\n”;
var_dump($s);
//
echo “before call unserialize\n”;
$obj2 = unserialize($s);
echo “called unserialize\n”;
結果
この続きは以下をご覧ください
http://resocia.jp/column/2103/
ソーシャルもやってます!