3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Notify { protected int $id; public function __set($name, $value) { echo __METHOD__ . PHP_EOL; if (property_exists($this, $name)) { $this->{$name} = $value; } return $this; } } $obj = new Notify(); $obj->id = 1; var_dump($obj);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
Notify::__set object(Notify)#1 (1) { ["id":protected]=> int(1) }

preferences:
95.72 ms | 402 KiB | 91 Q