1--TEST-- 2Verifies that it is possible to return private member names of parent classes in __sleep 3--FILE-- 4<?php 5class foo 6{ 7 private $private = 'private'; 8 protected $protected = 'protected'; 9 public $public = 'public'; 10} 11 12class bar extends foo 13{ 14 public function __sleep() 15 { 16 return array("\0foo\0private", 'protected', 'public'); 17 } 18} 19 20var_dump(str_replace("\0", '\0', serialize(new bar()))); 21?> 22--EXPECT-- 23string(114) "O:3:"bar":3:{s:12:"\0foo\0private";s:7:"private";s:12:"\0*\0protected";s:9:"protected";s:6:"public";s:6:"public";}" 24