public function __construct($container = []) { if (is_array($container)) { $container = new Container($container); } if (!$container instanceof ContainerContract) { throw new InvalidArgumentException('Expected a ContainerInterface'); } $this->container = $container; Container::setInstance($this->container); /* $this->container['app'] = function() use ($this) { return $this; }; */ }