bug45862.phpt 764 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables)
  3. --FILE--
  4. <?php
  5. class Ancestor {
  6. function test() {
  7. var_dump(get_class_vars("Tester"));
  8. var_dump(Tester::$prot);
  9. }
  10. }
  11. class Tester extends Ancestor {
  12. static protected $prot = "protected var";
  13. static private $priv = "private var";
  14. }
  15. class Child extends Tester {
  16. function test() { var_dump(get_class_vars("Tester")); }
  17. }
  18. echo "\n From parent scope\n";
  19. $parent = new Ancestor();
  20. $parent->test();
  21. echo "\n From child scope\n";
  22. $child = new Child();
  23. $child->test();
  24. ?>
  25. --EXPECT--
  26. From parent scope
  27. array(1) {
  28. ["prot"]=>
  29. string(13) "protected var"
  30. }
  31. string(13) "protected var"
  32. From child scope
  33. array(1) {
  34. ["prot"]=>
  35. string(13) "protected var"
  36. }