private_members_serialization.phpt 565 B

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