1--TEST-- 2Behaviour of incomplete class is preserved even when it was not created by unserialize(). 3--FILE-- 4<?php 5/* Prototype : proto string serialize(mixed variable) 6 * Description: Returns a string representation of variable (which can later be unserialized) 7 * Source code: ext/standard/var.c 8 * Alias to functions: 9 */ 10/* Prototype : proto mixed unserialize(string variable_representation) 11 * Description: Takes a string representation of variable and recreates it 12 * Source code: ext/standard/var.c 13 * Alias to functions: 14 */ 15 16$a = new __PHP_Incomplete_Class; 17var_dump($a); 18var_dump($a->p); 19 20echo "Done"; 21?> 22--EXPECTF-- 23object(__PHP_Incomplete_Class)#%d (0) { 24} 25 26Notice: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "unknown" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in %s on line %d 27NULL 28Done 29