lsb_023.phpt 503 B

1234567891011121314151617181920212223242526
  1. --TEST--
  2. Late Static Binding static:: calls protected / public method of child class even then
  3. the method is private in parent class
  4. --FILE--
  5. <?php
  6. class A {
  7. public static function out() {
  8. echo static::value(), PHP_EOL;
  9. }
  10. private static function value() { return 'A'; }
  11. }
  12. class B extends A {
  13. protected static function value() { return 'B'; }
  14. }
  15. class C extends A {
  16. public static function value() { return 'C'; }
  17. }
  18. A::out();
  19. B::out();
  20. C::out();
  21. echo PHP_EOL;
  22. --EXPECT--
  23. A
  24. B
  25. C