<?php
class Foo {
public readonly int $bar;
public function __set($name, $value) {
echo "__set($name, $value)\n";
}
public function unsetBar() {
unset($this->bar);
}
}
$foo = new Foo();
try {
$foo->bar = 42;
} catch (Throwable $e) {
echo $e->getMessage(), "\n";
}
$foo->unsetBar();
$foo->bar = 42;
- Output for 8.4.1 - 8.4.12
- Cannot modify protected(set) readonly property Foo::$bar from global scope
__set(bar, 42)
- Output for 8.1.0 - 8.1.33, 8.2.22 - 8.2.29, 8.3.5 - 8.3.25
- Cannot initialize readonly property Foo::$bar from global scope
__set(bar, 42)
- Output for 8.0.1 - 8.0.25
- Parse error: syntax error, unexpected identifier "int", expecting variable in /in/X76pV on line 4
Process exited with code 255. - Output for 7.4.0 - 7.4.33
- Parse error: syntax error, unexpected 'int' (T_STRING), expecting variable (T_VARIABLE) in /in/X76pV on line 4
Process exited with code 255.
preferences:
68.85 ms | 413 KiB | 6 Q