public function setUp()
 {
     $this->di = new Container(new Factory());
     $this->di->set('tests/elasticsearch:client', $this->di->lazy(function () {
         return ClientBuilder::create()->build();
     }));
     $this->di->setter['Mosiyash\\Elasticsearch\\DocumentAbstract']['setDi'] = $this->di;
     $this->di->setter['Mosiyash\\Elasticsearch\\DocumentRepositoryAbstract']['setDi'] = $this->di;
     $this->di->set('tests/documents:custom', $this->di->newFactory('Mosiyash\\Elasticsearch\\Tests\\CustomDocument'));
     $this->di->set('tests/documents:custom_repository', $this->di->lazyNew('Mosiyash\\Elasticsearch\\Tests\\CustomDocumentRepository'));
     $this->checkElasticsearchIsRunned();
     $this->deleteElasticsearchIndex();
     $this->createElasticsearchIndex();
 }
Exemple #2
0
 public function define(Container $di)
 {
     $di->set('event_dispatcher', $di->lazyNew(EventDispatcher::class));
     $di->params[Application::class]['eventDispatcher'] = $di->lazyGet('event_dispatcher');
     $di->params[Application::class]['contextFactory'] = $di->lazyNew(ContextFactory::class);
     $di->params[Application::class]['plugins'] = $di->lazy(function () {
         $plugins = [];
         $plugins[] = new ContextualHelpPlugin();
         $plugins[] = new VersionInfoPlugin();
         return $plugins;
     });
     $di->params[ContextFactory::class]['eventDispatcher'] = $di->lazyGet('event_dispatcher');
     $di->params[ContextFactory::class]['optionDefinitionParser'] = $di->lazyNew(OptionDefinitionParser::class);
     $di->params[ContextFactory::class]['usageParserBuilder'] = $di->lazyNew(UsageParserBuilder::class);
 }
Exemple #3
0
 public function define(Container $di)
 {
     $di->set('http_middlewares', $di->lazyNew('asylgrp\\workbench\\Http\\Middleware\\MiddlewareQueue'));
     $di->set('http_emitter', $di->lazyNew('Zend\\Diactoros\\Response\\SapiEmitter'));
     $di->set('http_runner', $di->lazyNew('Relay\\Runner', ['queue' => $di->lazyGetCall('http_middlewares', 'asArray')]));
     $di->set('http_request', $di->lazy(['Zend\\Diactoros\\ServerRequestFactory', 'fromGlobals']));
     $di->set('http_response', $di->lazyNew('Zend\\Diactoros\\Response'));
     $di->set('event_dispatcher', $di->lazyNew('Symfony\\Component\\EventDispatcher\\EventDispatcher'));
     $di->types['Symfony\\Component\\EventDispatcher\\EventDispatcherInterface'] = $di->lazyGet('event_dispatcher');
     $di->set('contact_storage', $di->lazy(function () use($di) {
         return new \asylgrp\workbench\Storage\ContactStorage(new \asylgrp\workbench\Storage\Mapper(new \asylgrp\workbench\Storage\JsonFileHandle($di->get('settings')->read('db.contacts')), $di->newInstance('asylgrp\\workbench\\Storage\\Arrayizer\\ContactArrayizer')));
     }));
     $di->types['asylgrp\\workbench\\Storage\\ContactStorage'] = $di->lazyGet('contact_storage');
     $di->params['asylgrp\\workbench\\Storage\\ClaimStorage']['file'] = $di->lazyNew('asylgrp\\workbench\\Storage\\JsonFileHandle', [$di->lazyGetCall('settings', 'read', 'db.claims')]);
     $di->set('claim_storage', $di->lazyNew('asylgrp\\workbench\\Storage\\ClaimStorage'));
     $di->types['asylgrp\\workbench\\Storage\\ClaimStorage'] = $di->lazyGet('claim_storage');
     $di->params['Aura\\Router\\RouterContainer']['basepath'] = $di->lazyGetCall('settings', 'read', 'api.base_path');
     $di->set('router_container', $di->lazyNew('Aura\\Router\\RouterContainer'));
     $di->set('router_map', $di->lazyGetCall('router_container', 'getMap'));
     $di->set('router_matcher', $di->lazyGetCall('router_container', 'getMatcher'));
     $di->types['Aura\\Router\\Matcher'] = $di->lazyGet('router_matcher');
     $di->set('router_generator', $di->lazyGetCall('router_container', 'getGenerator'));
     $di->types['Aura\\Router\\Generator'] = $di->lazyGet('router_generator');
 }
<?php

use Aura\Di\Container;
use Aura\Di\Injection\InjectionFactory;
use Aura\Di\Resolver\Reflector;
use Aura\Di\Resolver\Resolver;
$container = new Container(new InjectionFactory(new Resolver(new Reflector())));
// Standard config keys
$container->set('doctrine.entity_manager.orm_default', $container->lazy(new \ContainerInteropDoctrine\EntityManagerFactory(), $container));
// Custom config keys
$container->set('doctrine.entity_manager.orm_other', $container->lazy(new \ContainerInteropDoctrine\EntityManagerFactory('orm_other'), $container));