property_override_protectedStatic_public.phpt 504 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Redeclare inherited protected static property as public.
  3. --FILE--
  4. <?php
  5. class A
  6. {
  7. protected static $p = "A::p (static)";
  8. static function showA()
  9. {
  10. echo self::$p . "\n";
  11. }
  12. }
  13. class B extends A
  14. {
  15. public $p = "B::p";
  16. function showB()
  17. {
  18. echo $this->p . "\n";
  19. }
  20. }
  21. A::showA();
  22. $b = new B;
  23. $b->showA();
  24. $b->showB();
  25. ?>
  26. --EXPECTF--
  27. Fatal error: Cannot redeclare static A::$p as non static B::$p in %s on line 11