visibility_change.phpt 446 B

123456789101112131415161718192021222324252627282930
  1. --TEST--
  2. Visibility can change in readonly property
  3. --FILE--
  4. <?php
  5. class A {
  6. protected readonly int $prop;
  7. public function __construct() {
  8. $this->prop = 42;
  9. }
  10. }
  11. class B extends A {
  12. public readonly int $prop;
  13. }
  14. $a = new A();
  15. try {
  16. var_dump($a->prop);
  17. } catch (Error $error) {
  18. echo $error->getMessage() . "\n";
  19. }
  20. $b = new B();
  21. var_dump($b->prop);
  22. ?>
  23. --EXPECT--
  24. Cannot access protected property A::$prop
  25. int(42)