public function testChangeContainerDependencyInRuntime() { $container = new Container(); $container->set('DB', MySql::class); $this->assertTrue($container->get('DB') instanceof MySql, 'Expecting MySql instance'); $container->set('DB', Postgres::class); $this->assertTrue($container->get('DB') instanceof Postgres, 'Expecting Postgres instance'); }
/** * Register application providers. */ private function registerProviders() { $providers = $this->config('app')['providers']; foreach ($providers as $provider) { $obj = new $provider($this); if (!$obj instanceof Provider) { throw new \Exception("Invalid provider: {$provider}"); } $this->container->invoke($obj, 'register'); } }