bug29674.phpt 863 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. --TEST--
  2. Bug #29674 (inherited method doesn't have access to private variables of the derived class)
  3. --FILE--
  4. <?php
  5. class BaseClass
  6. {
  7. private $private_base = "Base";
  8. function printVars ()
  9. {
  10. var_dump($this->private_base);
  11. var_dump($this->private_child);
  12. }
  13. }
  14. class ChildClass extends BaseClass
  15. {
  16. private $private_child = "Child";
  17. }
  18. echo "===BASE===\n";
  19. $obj = new BaseClass;
  20. $obj->printVars();
  21. echo "===CHILD===\n";
  22. $obj = new ChildClass;
  23. $obj->printVars();
  24. ?>
  25. ===DONE===
  26. --EXPECTF--
  27. ===BASE===
  28. string(4) "Base"
  29. Warning: Undefined property: BaseClass::$private_child in %s on line %d
  30. NULL
  31. ===CHILD===
  32. string(4) "Base"
  33. Fatal error: Uncaught Error: Cannot access private property ChildClass::$private_child in %sbug29674.php:%d
  34. Stack trace:
  35. #0 %s(%d): BaseClass->printVars()
  36. #1 {main}
  37. thrown in %sbug29674.php on line %d