- property_exists: documentation ( source)
- var_dump: documentation ( source)
<?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);
}