--TEST-- Lazy objects: serialize() does not initialize object if __serialize does observe object state --FILE-- newLazyGhost(function ($obj) { var_dump("initializer"); }); test('Ghost', $obj); $obj = $reflector->newLazyProxy(function ($obj) { var_dump("initializer"); return new C(); }); test('Proxy', $obj); --EXPECTF-- # Ghost: string(12) "O:1:"C":0:{}" object(C)#%d (0) { ["a"]=> uninitialized(int) } # Proxy: string(12) "O:1:"C":0:{}" object(C)#%d (0) { ["a"]=> uninitialized(int) }