protected_002.phpt 654 B

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