- var_dump: documentation ( source)
<?php
declare(strict_types=1);
final class Container{
private $callables = array();
public function __set($name,$value){
if($value instanceof Closure){
$this->callables[$name] = $value;
}
}
public function __call($method, array $args){
if(isset($this->callables[$method])){
$callable = $this->callables[$method];
return call_user_func_array($callable,$args);
}
}
}
$container = new Container();
$container->demo = function(){
return new Container();
};
var_dump($container->demo());