예제 #1
0
 /**
  * @param Container $container
  */
 public static function setupLogger(Container $container)
 {
     $container->add('logger', function () use($container) {
         $logger = new Logger('Chat');
         $type = $container->get('config')->logger ?: STDOUT;
         $logger->pushHandler(new StreamHandler($type));
         return $logger;
     }, true);
 }
예제 #2
0
 /**
  * @param Container $container
  */
 public static function setupHttpClient($container)
 {
     $container->add('httpClient', function () use($container) {
         $dnsResolverFactory = new Factory();
         $loop = $container->get('eventloop');
         $dnsResolver = $dnsResolverFactory->createCached('8.8.8.8', $loop);
         $factory = new HttpFactory();
         $client = $factory->create($loop, $dnsResolver);
         return $client;
     }, true);
 }
예제 #3
0
파일: ContainerTest.php 프로젝트: orno/di
 public function testExtendsThrowsExceptionWhenModifyingAnExistingSingleton()
 {
     $this->setExpectedException('Orno\\Di\\Exception\\ServiceNotExtendableException');
     $c = new Container();
     $c->singleton('service', 'OrnoTest\\Assets\\Baz');
     $c->get('service');
     $c->extend('service');
 }
예제 #4
0
 /**
  * @return Cache
  */
 public function getCache()
 {
     return $this->container->get('cache');
 }