3v4l.org

run code in 300+ PHP versions simultaneously
<?php class PropertyTest { private $data = array(); public function __set($name, $value) { echo "Setting '$name' to '$value'\n"; $this->data[$name] = $value; } public function __get($name) { echo "Getting '$name'\n"; if (array_key_exists($name, $this->data)) { return $this->data[$name]; }} public function __isset($name) { echo "Is '$name' set?\n"; return isset($this->data[$name]); } public function __unset($name) { echo "Unsetting '$name'\n"; unset($this->data[$name]); } public function getHidden() { return $this->hidden; } private $hidden = 2; } echo "<pre>\n"; $obj = new PropertyTest; $obj->a = 1; echo $obj->a . "\n\n"; var_dump(isset($obj->a)); unset($obj->a); var_dump(isset($obj->a)); echo "\n"; echo $obj->getHidden() . "\n"; ?>

preferences:
44.7 ms | 402 KiB | 5 Q