<?php
class myStdClass {
public function __call($method, $args) {
if (isset($this->$method)) {
return call_user_func_array($this->$method, $args);
}
}
}
$x = new myStdClass;
$x->a = function () {
$D = new myStdClass;
$D->c = 5;
$D->b = function () use ($D) {
return $D->c;
};
return $D;
};
echo $x->a()->b();