get_mangled_object_vars.phpt 749 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. --TEST--
  2. get_mangled_object_vars() function
  3. --FILE--
  4. <?php
  5. class A {
  6. public $pub = 1;
  7. protected $prot = 2;
  8. private $priv = 3;
  9. }
  10. class B extends A {
  11. private $priv = 4;
  12. }
  13. $obj = new B;
  14. $obj->dyn = 5;
  15. $obj->{"6"} = 6;
  16. var_export(get_mangled_object_vars($obj));
  17. echo "\n";
  18. class AO extends ArrayObject {
  19. private $priv = 1;
  20. }
  21. $ao = new AO(['x' => 'y']);
  22. $ao->dyn = 2;
  23. var_export(get_mangled_object_vars($ao));
  24. echo "\n";
  25. var_export((array) $ao);
  26. echo "\n";
  27. ?>
  28. --EXPECT--
  29. array (
  30. 'pub' => 1,
  31. '' . "\0" . '*' . "\0" . 'prot' => 2,
  32. '' . "\0" . 'A' . "\0" . 'priv' => 3,
  33. '' . "\0" . 'B' . "\0" . 'priv' => 4,
  34. 'dyn' => 5,
  35. 6 => 6,
  36. )
  37. array (
  38. '' . "\0" . 'AO' . "\0" . 'priv' => 1,
  39. 'dyn' => 2,
  40. )
  41. array (
  42. 'x' => 'y',
  43. )