private_006.phpt 635 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. ZE2 A private method can be overwritten in a second derived class
  3. --SKIPIF--
  4. <?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
  5. --FILE--
  6. <?php
  7. class first {
  8. private static function show() {
  9. echo "Call show()\n";
  10. }
  11. public static function do_show() {
  12. first::show();
  13. }
  14. }
  15. first::do_show();
  16. class second extends first {
  17. }
  18. second::do_show();
  19. class third extends second {
  20. }
  21. third::do_show();
  22. class fail extends third {
  23. static function show() { // cannot be redeclared
  24. echo "Call show()\n";
  25. }
  26. }
  27. echo "Done\n";
  28. ?>
  29. --EXPECTF--
  30. Call show()
  31. Call show()
  32. Call show()
  33. Done