<?php
$person = new class($controller) {
public $age = 15, $height = 72, $weight = 200;
public function __set($name, $value) {
if (!property_exists($this, $name)) {
throw new Exception("No such property: $name");
}
$this->{$name} = $value;
}
public function __get($name) {
if (!property_exists($this, $name)) {
throw new Exception("No such property: $name");
}
return $this->{$name};
}
};
var_dump($person);
var_dump($person->age);
$person->age = 19;
var_dump($person->age);
try {
var_dump($person->badProp);
} catch (Exception $e) {
var_dump($person);
}
try {
$person->badProp = 5;
} catch (Exception $e) {
var_dump($person);
}
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- Warning: Undefined variable $controller in /in/USatZ on line 3
object(class@anonymous)#1 (3) {
["age"]=>
int(15)
["height"]=>
int(72)
["weight"]=>
int(200)
}
int(15)
int(19)
object(class@anonymous)#1 (3) {
["age"]=>
int(19)
["height"]=>
int(72)
["weight"]=>
int(200)
}
object(class@anonymous)#1 (3) {
["age"]=>
int(19)
["height"]=>
int(72)
["weight"]=>
int(200)
}
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
- Notice: Undefined variable: controller in /in/USatZ on line 3
object(class@anonymous)#1 (3) {
["age"]=>
int(15)
["height"]=>
int(72)
["weight"]=>
int(200)
}
int(15)
int(19)
object(class@anonymous)#1 (3) {
["age"]=>
int(19)
["height"]=>
int(72)
["weight"]=>
int(200)
}
object(class@anonymous)#1 (3) {
["age"]=>
int(19)
["height"]=>
int(72)
["weight"]=>
int(200)
}
- Output for 7.0.0 - 7.0.20, 7.3.32 - 7.3.33
- object(class@anonymous)#1 (3) {
["age"]=>
int(15)
["height"]=>
int(72)
["weight"]=>
int(200)
}
int(15)
int(19)
object(class@anonymous)#1 (3) {
["age"]=>
int(19)
["height"]=>
int(72)
["weight"]=>
int(200)
}
object(class@anonymous)#1 (3) {
["age"]=>
int(19)
["height"]=>
int(72)
["weight"]=>
int(200)
}
- Output for 5.4.2 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
- Parse error: syntax error, unexpected 'class' (T_CLASS) in /in/USatZ on line 3
Process exited with code 255.
preferences:
197.34 ms | 402 KiB | 272 Q