visibility_002b.phpt 723 B

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. ZE2 A redeclared method must have the same or higher visibility
  3. --SKIPIF--
  4. <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
  5. --FILE--
  6. <?php
  7. class father {
  8. function f0() {}
  9. function f1() {}
  10. public function f2() {}
  11. protected function f3() {}
  12. private function f4() {}
  13. }
  14. class same extends father {
  15. // overload fn with same visibility
  16. function f0() {}
  17. public function f1() {}
  18. public function f2() {}
  19. protected function f3() {}
  20. private function f4() {}
  21. }
  22. class fail extends same {
  23. private function f2() {}
  24. }
  25. echo "Done\n"; // shouldn't be displayed
  26. ?>
  27. --EXPECTF--
  28. Fatal error: Access level to fail::f2() must be public (as in class same) in %s on line %d