@ 2015-12-04T05:05:42Z <?php
final class Container{
private $callables = [];
public function __set(string $name,$value){
if($value instanceof Closure){
$this->callables[$name] = $value;
}
}
public function __call(string $method, array $args){
if(isset($this->callables[$method])){
$callable = $this->callables[$method];
$callable($args);
}
}
}
$container = new Container();
$container->demo = function(){
return new Container();
};
var_dump($container->demo());
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 NULL
Output for 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 Catchable fatal error: Argument 1 passed to Container::__set() must be an instance of string, string given in /in/hletM on line 6
Process exited with code 255 . preferences:dark mode live preview
277.08 ms | 402 KiB | 330 Q