class DI
{
private static $container = [];
public static function set($key, $closure)
{
self::$container[$key] = $closure;
}
public static function get($key)
{
return self::$container[$key]();
}
}
DI::set('request', function(){
return new Kernel\Request();
});
$request = DI::get('request');
Fatal error: Function name must be a string in C:\OpenServer\domains\mvc.loc\protected\classes\Kernel\DI.php on line 15
Причём если сделать свойство и методы не статическими, создать экземпляр DI и работать с ним - то анонимная функция отрабатывает и вернёт нам нужный объект. Что не так?