示例#1
0
 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');
 }
示例#2
0
 /**
  * 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');
     }
 }