function __get($var) {
// fuer eine genauer zielende Fehleranzeige
//if (!property_exists($this, $var)) {
// throw new Exception("Undefined property '$var'");
//}
return $this->$var;
}
Das \_\_get() kann man getrost weglassen. Es würde eh nur aufgerufen, wenn die angefragte Property-Variable nicht existiert.
Also:
~~~php
class assoc {
static function make() {
return new static();
}
function __call($name, $args = null) {
if (is_array($args)) {
$this->$name = current($args);
}
else {
$this->__call = $name;
}
return $this;
}
}