3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * @property string $value */ class Example { private $value; public function __construct() { $this->value = "test"; } public function __get($key) { if (property_exists($this, $key)) { return $this->{$key}; } else { return null; // or throw an exception } } public function __set($key, $value) { return; // or throw an exception } } $example = new Example(); var_dump($example->value); $example->value = "invalid"; var_dump($example->value);
Output for 5.6.38, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
string(4) "test" string(4) "test"

preferences:
136.75 ms | 403 KiB | 199 Q