3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { private string $foo; public function __construct() { unset($this->foo); } public function do() { $this->foo = 'bar'; print $this->foo . PHP_EOL; } public function __set($name, $value) { print "called __set\n"; if ($name === 'foo') $this->foo = $value; } } $a = new A(); $a->do();
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
called __set bar

preferences:
71.57 ms | 1100 KiB | 4 Q