private_004b.phpt 612 B

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. ZE2 A private method cannot be called in a derived class
  3. --FILE--
  4. <?php
  5. class pass {
  6. private function show() {
  7. echo "Call show()\n";
  8. }
  9. public function do_show() {
  10. $this->show();
  11. }
  12. }
  13. class fail extends pass {
  14. function do_show() {
  15. $this->show();
  16. }
  17. }
  18. $t = new pass();
  19. $t->do_show();
  20. $t2 = new fail();
  21. $t2->do_show();
  22. echo "Done\n"; // shouldn't be displayed
  23. ?>
  24. --EXPECTF--
  25. Call show()
  26. Fatal error: Uncaught Error: Call to private method pass::show() from scope fail in %s:%d
  27. Stack trace:
  28. #0 %s(%d): fail->do_show()
  29. #1 {main}
  30. thrown in %s on line %d