private_003.phpt 708 B

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