1--TEST-- 2Issue #81 (Ignore IS_UNDEF) 3--SKIPIF-- 4<?php 5if (!extension_loaded("msgpack")) { 6 die("skip"); 7} 8?> 9--FILE-- 10<?php 11class MyClass 12{ 13 private $first_field; 14 private $second_field; 15 16 public function __construct() 17 { 18 $this->first_field = 'first_field'; 19 $this->second_field = 'second_field'; 20 } 21 22 public function preSerialize() 23 { 24 unset($this->first_field); 25 } 26} 27 28$t = new MyClass(); 29var_dump($t); 30var_dump(msgpack_unpack(msgpack_pack($t))); 31 32$t = new MyClass(); 33$t->preSerialize(); 34var_dump($t); 35var_dump(msgpack_unpack(msgpack_pack($t))); 36?> 37OK 38--EXPECTF-- 39object(MyClass)#%d (2) { 40 ["first_field":"MyClass":private]=> 41 string(11) "first_field" 42 ["second_field":"MyClass":private]=> 43 string(12) "second_field" 44} 45object(MyClass)#%d (2) { 46 ["first_field":"MyClass":private]=> 47 string(11) "first_field" 48 ["second_field":"MyClass":private]=> 49 string(12) "second_field" 50} 51object(MyClass)#%d (1) { 52 ["second_field":"MyClass":private]=> 53 string(12) "second_field" 54} 55object(MyClass)#%d (2) { 56 ["first_field":"MyClass":private]=> 57 NULL 58 ["second_field":"MyClass":private]=> 59 string(12) "second_field" 60} 61OK 62