public function define(Container $di) { /* why can't a trait be set? $u = User(); $m = new \Domain\Todo\Mapper; $t = new \Domain\Todo\TodoEntity; $p = new \Aura\Payload\Payload(); $di->params['Domain\Todo\ApplicationService\EditItem']['user'] = $u; $di->params['Domain\Todo\ApplicationService\EditItem']['mapper'] = $m; $di->params['Domain\Todo\ApplicationService\EditItem']['payload'] = $p; $di->params['Domain\Todo\ApplicationService\AddItem']['user'] = $u; $di->params['Domain\Todo\ApplicationService\AddItem']['mapper'] = $m; $di->params['Domain\Todo\ApplicationService\AddItem']['payload'] = $p; $di->params['Domain\Todo\ApplicationService\GetList']['user'] = $u; $di->params['Domain\Todo\ApplicationService\GetList']['mapper'] = $m; $di->params['Domain\Todo\ApplicationService\GetList']['payload'] = $p; $di->params['Domain\Todo\ApplicationService\DeleteItem']['user'] = $u; $di->params['Domain\Todo\ApplicationService\DeleteItem']['mapper'] = $m; $di->params['Domain\Todo\ApplicationService\DeleteItem']['payload'] = $p; */ $databaseHandle = \defaultTodoPdo(); $di->params['Aura\\Sql\\ExtendedPdo']['dsn'] = $databaseHandle; $di->set('aura/payload', $di->lazyNew('Aura\\Payload\\Payload')); $di->set('user', $di->lazyNew('Domain\\User\\User')); $di->types['User'] = $di->lazyGet('user'); $di->params['Aura\\Auth\\AuthFactory']['cookie'] = $_COOKIE; $di->params['Aura\\Auth\\Verifier\\PasswordVerifier']['algo'] = PASSWORD_DEFAULT; // should be optional }
/** * Define Aura\View and Aura\Html factories and services * * @param Container $di DI Container * * @return void * * @access public * * @SuppressWarnings(PHPMD.ShortVariable) */ public function define(Container $di) { /** * Services */ $di->set('application/domain:postGateway', $di->lazyNew('Application\\Data\\Gateway\\PostSqlite')); /** * Aura.view */ // Aura\Html $di->set('aura/html:factory', $di->lazyNew(HelperLocatorFactory::class)); $di->set('aura/html:helpers', $di->lazyGetCall('aura/html:factory', 'newInstance')); // Aura\View $di->set('aura/view:factory', $di->lazyNew(ViewFactory::class)); $di->set('aura/view:view', $di->lazyGetCall('aura/view:factory', 'newInstance', $di->lazyGet('aura/html:helpers'))); // view files and paths from class $viewsconfig = new \Application\Config\AuraViews(); $views = $viewsconfig->getViews(); /** * Parameters */ // lazy load $di->params['Application\\Domain\\Aura']['payload'] = $di->lazyNew('Aura\\Payload\\Payload'); // binding variables to classes $di->params['Application\\Responder\\AuraViewStaticPage']['views'] = $views; // refactor or drop this $di->params['Application\\Responder\\AuraViewResponder']['views'] = $views; // domains $di->params['Application\\Domain\\Page']['postGateway'] = $di->lazyGet('application/domain:postGateway'); }
/** * @inheritDoc */ 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[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); }
public function define(Container $di) { /** * Aura\Router\RouteCollection */ $di->params['Aura\\Router\\RouteCollection'] = array('route_factory' => $di->lazyNew('Aura\\Router\\RouteFactory')); /** * Aura\Router\Router */ $di->params['Aura\\Router\\Router'] = array('routes' => $di->lazyNew('Aura\\Router\\RouteCollection'), 'generator' => $di->lazyNew('Aura\\Router\\Generator')); }
public function define(Container $di) { $di->set('Aol\\Atc\\Dispatch', $di->lazyNew('Aol\\Atc\\Dispatch')); $di->set('Aol\\Atc\\ActionFactory', $di->lazyNew('Aol\\Atc\\ActionFactory')); $di->set('Aol\\Atc\\ActionFactoryInterface', $di->lazyGet('Aol\\Atc\\ActionFactory')); $di->set('Aol\\Atc\\Presenter', $di->lazyNew('Aol\\Atc\\Presenter')); $di->set('Aol\\Atc\\PresenterInterface', $di->lazyGet('Aol\\Atc\\Presenter')); $di->set('Aol\\Atc\\EventDispatcher', $di->lazyNew('Aol\\Atc\\EventDispatcher')); $di->set('Aol\\Atc\\EventHandlers\\DispatchErrorHandler', $di->lazyNew('Aol\\Atc\\EventHandlers\\DispatchErrorHandler')); $di->params['Aol\\Atc\\Dispatch'] = ['router' => $di->lazyGet('Aura\\Router\\Router'), 'web_factory' => $di->lazyGet('Aura\\Web\\WebFactory'), 'action_factory' => $di->lazyGet('Aol\\Atc\\ActionFactoryInterface'), 'presenter' => $di->lazyGet('Aol\\Atc\\PresenterInterface'), 'event_dispatcher' => $di->lazyGet('Aol\\Atc\\EventDispatcher'), 'exception_handler' => $di->lazyGet('Aol\\Atc\\EventHandlers\\DispatchErrorHandler')]; }
public function define(Container $di) { //$di->set('era:payload_factory', $di->lazyNew(\Aura\Payload\PayloadFactory::class)); //$di->params[\Era\Domain\Home\AppService\Home::class]['payload'] = $di->lazyGetCall('era:payload_factory', 'newInstance'); $di->params['Era\\Domain\\Home\\AppService\\Home']['payload'] = $di->lazyNew('Aura\\Payload\\Payload'); $di->set('era:twig', $di->lazyNew('Twig_Environment')); $di->set('era:twig-loader', $di->lazyNew('Twig_Loader_Filesystem')); $di->params['Era\\Http\\Responder\\TwigResponder']['twig'] = $di->lazyGet('era:twig'); $di->params['Twig_Environment']['loader'] = $di->lazyGet('era:twig-loader'); $di->params['Twig_Environment']['options'] = ['cache' => ERA_ROOT . '/cache/twig', 'auto_reload' => true]; $di->params['Twig_Loader_Filesystem']['paths'] = [ERA_ROOT . '/views']; }
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(); }
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); }
protected function modifyCliDispatcherAndHelp(Container $di) { // $context = $di->get('aura/cli-kernel:context'); // $stdio = $di->get('aura/cli-kernel:stdio'); // $logger = $di->get('aura/project-kernel:logger'); $dispatcher = $di->get('aura/cli-kernel:dispatcher'); $help_service = $di->get('aura/cli-kernel:help_service'); // register built-in commands foreach ($this->commands as $command) { $class = 'CLI\\Command\\' . $command; $command_name = strtolower($command); $dispatcher->setObject($command_name, $di->lazyNew($class)); $help_class = 'CLI\\Command\\' . $command . 'Help'; $help_service->set($command_name, $di->lazyNew($help_class)); } // register user commands UserConfig::registerCommands($di, $dispatcher, $help_service, $this->user_command_paths); }
public function init() { $container = new Container(new InjectionFactory(new Resolver(new Reflector()))); // alternatively you can do // $builder = new \Aura\Di\ContainerBuilder(); // $container = $builder->newInstance(); $container->set('bicycle_factory', $container->lazyNew('PhpBench\\Benchmarks\\Container\\Acme\\BicycleFactory')); $this->container = $container; }
public function define(Container $di) { /** * Services */ $di->set('invoice/domain:mapper', $di->lazyNew('Invoice\\Persistence\\FilesystemMapper')); /** * Invoice Mapper */ $di->params['Invoice\\Persistence\\FilesystemMapper']['path'] = INVOICE_ROOT . '/res/invoices'; $di->params['Invoice\\Persistence\\FilesystemMapper']['yaml'] = $di->lazyNew('Symfony\\Component\\Yaml\\Parser'); $di->params['Invoice\\Persistence\\FilesystemMapper']['normalizer'] = $di->lazyNew('Invoice\\Domain\\Normalizer'); /** * ListAllInvoices */ $di->params['Invoice\\Domain\\Action\\ListAllInvoices']['mapper'] = $di->lazyGet('invoice/domain:mapper'); /** * ViewSingleInvoice */ $di->params['Invoice\\Domain\\Action\\ViewSingleInvoice']['mapper'] = $di->lazyGet('invoice/domain:mapper'); }
protected function setView(Container $di, $templating, $basePath) { $di->setters['Puzzle\\Core\\View']['setRouter'] = $di->lazyGet("router"); $di->setters['Puzzle\\Core\\View']['setBaseUrl'] = $templating['baseUrl']; $di->setters['Puzzle\\Core\\View']['setSignalManager'] = $di->lazyGet('signal_manager'); $themePath = $basePath . "/app/Resources/views/" . $templating['active_theme'] . "/"; $adminThemePath = $basePath . "/app/Resources/views/" . $templating['admin_theme'] . "/"; $webPath = $basePath . "/web/"; $di->params['Puzzle\\Core\\View']['themePath'] = $themePath; $di->params['Puzzle\\Core\\View']['adminThemePath'] = $adminThemePath; $di->params['Puzzle\\Core\\View']['webPath'] = $webPath; $di->set("view", $di->lazyNew("Puzzle\\Core\\View")); }
public function define(Container $di) { /** * Services */ $di->params['Application\\Domain\\Home']['payload'] = $di->lazyNew('Aura\\Payload\\Payload'); /** * Environment */ /** * Responder */ }
/** * Defines configuration for the dependency injection container * * @param Container $di Aura dependency injection container */ public function define(Container $di) { $di->set('Aura\\Cli\\Context', $di->lazyNew('Aura\\Cli\\Context')); $di->set('Aura\\Cli\\Help', $di->lazyNew('Aura\\Cli\\Help')); // Typehinted dependency resolution for command classes $di->params['ShootProof\\Cli\\Command\\BaseCommand']['stdio'] = $di->lazyNew('Aura\\Cli\\Stdio'); $di->params['ShootProof\\Cli\\Command\\BaseCommand']['api'] = $di->get('ShootProofApi'); $di->params['ShootProof\\Cli\\Command\\BaseCommand']['logger'] = $di->get('Logger'); $di->types['Help'] = $di->lazyGet('Help'); // Map CLI keywords to command classes $di->set('push', $di->lazyNew('ShootProof\\Cli\\Command\\PushCommand')); $di->set('pull', $di->lazyNew('ShootProof\\Cli\\Command\\PullCommand')); $di->set('accesslevel', $di->lazyNew('ShootProof\\Cli\\Command\\AccesslevelCommand')); $di->set('brands', $di->lazyNew('ShootProof\\Cli\\Command\\BrandsCommand')); $di->set('help', $di->lazyNew('ShootProof\\Cli\\Command\\HelpCommand')); }
protected function registerRoutes(Container $di) { $routeCollections = $this->getRouteCollections(); /** @var \Aura\Router\Router $router */ $router = $di->get('aura/web-kernel:router'); /** @var \Aura\Dispatcher\Dispatcher $dispatcher */ $dispatcher = $di->get('aura/web-kernel:dispatcher'); /** @var \Pollo\Config\Routing\RouteCollectionInterface $routeCollection */ foreach ($routeCollections as $routeCollection) { $routeCollection->addTo($router); $actionControllerMap = $routeCollection->getActionControllerMap(); foreach ($actionControllerMap as $action => $controller) { $dispatcher->setObject($action, $di->lazyNew($controller)); } } }
public function define(Container $di) { /** * Services */ $di->set('intl_package_factory', $di->lazyNew('Aura\\Intl\\PackageFactory')); $di->set('intl_translator_locator', $di->lazyNew('Aura\\Intl\\TranslatorLocator')); /** * Aura\Intl\FormatterLocator */ $di->params['Aura\\Intl\\FormatterLocator']['registry'] = ['basic' => $di->lazyNew('Aura\\Intl\\BasicFormatter'), 'intl' => $di->lazyNew('Aura\\Intl\\IntlFormatter')]; /** * Aura\Intl\TranslatorLocator */ $di->params['Aura\\Intl\\TranslatorLocator'] = ['locale' => 'en_US', 'factory' => $di->lazyNew('Aura\\Intl\\TranslatorFactory'), 'formatters' => $di->lazyNew('Aura\\Intl\\FormatterLocator'), 'packages' => $di->lazyNew('Aura\\Intl\\PackageLocator')]; }
public function define(Container $di) { $di->set('blog/domain:postGateway', $di->lazyNew('Blog\\Data\\Gateway\\PostMemory')); // $di->set('blog/domain:postGateway', $di->lazyNew('Blog\Data\Gateway\PostSqlite')); // $di->set('dbh', $di->lazyNew('PDO')); if (!file_exists(__DIR__ . '/../../../data')) { mkdir(__DIR__ . '/../../../data'); } $dataDir = realpath(__DIR__ . '/../../../data'); $di->params['PDO']['dsn'] = 'sqlite:' . $dataDir . '/db.sqlite'; $di->params['PDO']['username'] = ''; $di->params['PDO']['passwd'] = ''; $di->params['PDO']['options'] = []; $di->params['Blog\\Data\\Gateway\\PostSqlite']['dbh'] = $di->lazyGet('dbh'); $di->params['Blog\\Delivery\\Responder\\Html']['viewDir'] = __DIR__ . '/../../../views'; $di->params['Blog\\Domain\\Interactor\\ListAllPosts']['postGateway'] = $di->lazyGet('blog/domain:postGateway'); $di->params['Blog\\Domain\\Interactor\\DisplaySinglePost']['postGateway'] = $di->lazyGet('blog/domain:postGateway'); $di->params['Blog\\Domain\\Interactor\\CreateNewPost']['postGateway'] = $di->lazyGet('blog/domain:postGateway'); }
public function define(Container $di) { /** * Services */ $di->set('aura/session:session', $di->lazyNew('Aura\\Session\\Session')); /** * Aura\Session\CsrfTokenFactory */ $di->params['Aura\\Session\\CsrfTokenFactory']['randval'] = $di->lazyNew('Aura\\Session\\Randval'); /** * Aura\Session\Session */ $di->params['Aura\\Session\\Session'] = array('segment_factory' => $di->lazyNew('Aura\\Session\\SegmentFactory'), 'csrf_token_factory' => $di->lazyNew('Aura\\Session\\CsrfTokenFactory'), 'cookies' => $_COOKIE, 'phpfunc' => $di->lazyNew('Aura\\Session\\Phpfunc')); /** * Aura\Session\Randval */ $di->params['Aura\\Session\\Randval']['phpfunc'] = $di->lazyNew('Aura\\Session\\Phpfunc'); /** * Aura\Session\Segment */ $di->params['Aura\\Session\\Segment'] = array('session' => $di->lazyGet('aura/session:session')); }
public function define(Container $di) { $di->set('aura/project-kernel:logger', $di->lazyNew('Monolog\\Logger')); $di->set('MYAPP/contactform', $di->lazyNew('App\\Form\\Contact')); }
public function define(Container $di) { $di->params['Aura\\View\\View'] = array('view_registry' => $di->lazyNew('Aura\\View\\TemplateRegistry'), 'layout_registry' => $di->lazyNew('Aura\\View\\TemplateRegistry'), 'helpers' => $di->lazyNew('Aura\\View\\HelperRegistry')); }
public function define(Container $di) { /** * Services */ $di->set('aura/html:escaper', $di->lazyNew('Aura\\Html\\Escaper')); $di->set('aura/html:helper', $di->lazyNew('Aura\\Html\\HelperLocator')); /** * Aura\Html\Escaper */ $di->params['Aura\\Html\\Escaper'] = array('html' => $di->lazyNew('Aura\\Html\\Escaper\\HtmlEscaper'), 'attr' => $di->lazyNew('Aura\\Html\\Escaper\\AttrEscaper'), 'css' => $di->lazyNew('Aura\\Html\\Escaper\\CssEscaper'), 'js' => $di->lazyNew('Aura\\Html\\Escaper\\JsEscaper')); /** * Aura\Html\Escaper\AttrEscaper */ $di->params['Aura\\Html\\Escaper\\AttrEscaper'] = array('html' => $di->lazyNew('Aura\\Html\\Escaper\\HtmlEscaper')); /** * Aura\Html\HelperLocator */ $di->params['Aura\\Html\\HelperLocator']['map'] = array('a' => $di->lazyNew('Aura\\Html\\Helper\\Anchor'), 'anchor' => $di->lazyNew('Aura\\Html\\Helper\\Anchor'), 'base' => $di->lazyNew('Aura\\Html\\Helper\\Base'), 'escape' => $di->lazyGet('aura/html:escaper'), 'form' => $di->lazyNew('Aura\\Html\\Helper\\Form'), 'img' => $di->lazyNew('Aura\\Html\\Helper\\Img'), 'image' => $di->lazyNew('Aura\\Html\\Helper\\Img'), 'input' => $di->lazyNew('Aura\\Html\\Helper\\Input'), 'label' => $di->lazyNew('Aura\\Html\\Helper\\Label'), 'links' => $di->lazyNew('Aura\\Html\\Helper\\Links'), 'metas' => $di->lazyNew('Aura\\Html\\Helper\\Metas'), 'ol' => $di->lazyNew('Aura\\Html\\Helper\\Ol'), 'scripts' => $di->lazyNew('Aura\\Html\\Helper\\Scripts'), 'scriptsFoot' => $di->lazyNew('Aura\\Html\\Helper\\Scripts'), 'styles' => $di->lazyNew('Aura\\Html\\Helper\\Styles'), 'tag' => $di->lazyNew('Aura\\Html\\Helper\\Tag'), 'title' => $di->lazyNew('Aura\\Html\\Helper\\Title'), 'ul' => $di->lazyNew('Aura\\Html\\Helper\\Ul')); /** * Aura\Html\Helper\AbstractHelper */ $di->params['Aura\\Html\\Helper\\AbstractHelper']['escaper'] = $di->lazyGet('aura/html:escaper'); /** * Aura\Html\Helper\Input */ $di->params['Aura\\Html\\Helper\\Input']['map'] = array('button' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'checkbox' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Checkbox'), 'color' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'date' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'datetime' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'datetime-local' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'email' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'file' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'hidden' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'image' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'month' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'number' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'password' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'radio' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Radio'), 'range' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'reset' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'search' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'select' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Select'), 'submit' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'tel' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'text' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'textarea' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Textarea'), 'time' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'url' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic'), 'week' => $di->lazyNew('Aura\\Html\\Helper\\Input\\Generic')); }
public function define(Container $di) { /** * Services */ $di->set('aura/auth:auth', $di->lazyNew('Aura\\Auth\\Auth')); $di->set('aura/auth:login_service', $di->lazyNew('Aura\\Auth\\Service\\LoginService')); $di->set('aura/auth:logout_service', $di->lazyNew('Aura\\Auth\\Service\\LogoutService')); $di->set('aura/auth:resume_service', $di->lazyNew('Aura\\Auth\\Service\\ResumeService')); $di->set('aura/auth:session', $di->lazyNew('Aura\\Auth\\Session\\Session')); $di->set('aura/auth:adapter', $di->lazyNew('Aura\\Auth\\Adapter\\NullAdapter')); /** * Aura\Auth\Adapter\HtpasswdAdapter */ $di->params['Aura\\Auth\\Adapter\\HtpasswdAdapter'] = array('verifier' => $di->lazyNew('Aura\\Auth\\Verifier\\HtpasswdVerifier')); /** * Aura\Auth\Adapter\ImapAdapter */ $di->params['Aura\\Auth\\Adapter\\ImapAdapter'] = array('phpfunc' => $di->lazyNew('Aura\\Auth\\Phpfunc')); /** * Aura\Auth\Adapter\LdapAdapter */ $di->params['Aura\\Auth\\Adapter\\LdapAdapter'] = array('phpfunc' => $di->lazyNew('Aura\\Auth\\Phpfunc')); /** * Aura\Auth\Adapter\PdoAdapter */ $di->params['Aura\\Auth\\Adapter\\PdoAdapter'] = array('verifier' => $di->lazyNew('Aura\\Auth\\Verifier\\PasswordVerifier'), 'from' => 'users', 'cols' => array('username', 'password')); /** * Aura\Auth\Auth */ $di->params['Aura\\Auth\\Auth'] = array('segment' => $di->lazyNew('Aura\\Auth\\Session\\Segment')); /** * Aura\Auth\Service\LoginService */ $di->params['Aura\\Auth\\Service\\LoginService'] = array('adapter' => $di->lazyGet('aura/auth:adapter'), 'session' => $di->lazyGet('aura/auth:session')); /** * Aura\Auth\Service\LogoutService */ $di->params['Aura\\Auth\\Service\\LogoutService'] = array('adapter' => $di->lazyGet('aura/auth:adapter'), 'session' => $di->lazyGet('aura/auth:session')); /** * Aura\Auth\Service\ResumeService */ $di->params['Aura\\Auth\\Service\\ResumeService'] = array('adapter' => $di->lazyGet('aura/auth:adapter'), 'session' => $di->lazyGet('aura/auth:session'), 'timer' => $di->lazyNew('Aura\\Auth\\Session\\Timer'), 'logout_service' => $di->lazyGet('aura/auth:logout_service')); /** * Aura\Auth\Session\Timer */ $di->params['Aura\\Auth\\Session\\Timer'] = array('ini_gc_maxliftime' => ini_get('session.gc_maxlifetime'), 'ini_cookie_liftime' => ini_get('session.cookie_lifetime'), 'idle_ttl' => 1440, 'expire_ttl' => 14400); /** * Aura\Auth\Session\Session */ $di->params['Aura\\Auth\\Session\\Session'] = array('cookie' => $_COOKIE); /** * Aura\Auth\Verifier\PasswordVerifier */ $di->params['Aura\\Auth\\Verifier\\PasswordVerifier'] = array('algo' => 'NO_ALGO_SPECIFIED'); }
public function define(Container $di) { $di->set('aura/project-kernel:logger', $di->lazyNew('Monolog\\Logger')); }
/** * Define Auth * * @param Container $di DESCRIPTION * * @return mixed * * @access protected * * @SuppressWarnings(PHPMD.ShortVariable) */ protected function defineAuth(Container $di) { $di->params['Aura\\Auth\\AuthFactory']['cookie'] = $di->lazyValue('cookie'); $di->set('aura/auth:factory', $di->lazyNew('Aura\\Auth\\AuthFactory')); if (!$di->has('aura/auth:adapter')) { $di->set('aura/auth:adapter', $di->lazyNew('Aura\\Auth\\Adapter\\NullAdapter')); } $di->set('aura/auth:auth', $di->lazyGetCall('aura/auth:factory', 'newInstance')); $di->set('aura/auth:login', $di->lazyGetCall('aura/auth:factory', 'newLoginService', $di->lazyGet('aura/auth:adapter'))); $di->set('aura/auth:logout', $di->lazyGetCall('aura/auth:factory', 'newLogoutService', $di->lazyGet('aura/auth:adapter'))); $di->set('aura/auth:resume', $di->lazyGetCall('aura/auth:factory', 'newResumeService', $di->lazyGet('aura/auth:adapter'))); }
public function define(Container $di) { $di->set('aura/project-kernel:logger', $di->lazyNew('Monolog\\Logger')); $di->params['App\\Actions\\Hello'] = array('request' => $di->lazyGet('aura/web-kernel:request'), 'response' => $di->lazyGet('aura/web-kernel:response')); }
public function define(Container $di) { $di->types[PayloadInterface::class] = $di->lazyNew(Payload::class); }
public function modify(Container $di) { /** * Setup HTTP middlewares */ $di->get('http_middlewares')->addMany([[$di->newInstance('asylgrp\\workbench\\Http\\Middleware\\ExceptionHandler'), 1], [$di->newInstance('asylgrp\\workbench\\Http\\Middleware\\HttpsEnforcer'), 2], [$di->newInstance('asylgrp\\workbench\\Http\\Middleware\\HttpRefererChecker'), 3], [$di->newInstance('asylgrp\\workbench\\Http\\Middleware\\HttpCacheDisabler'), 4], [$di->newInstance('asylgrp\\workbench\\Http\\Middleware\\Router'), 999]]); /** * Setup the event dispatcher */ $subscribers = ['asylgrp\\workbench\\Storage\\ContactStorageSubscriber', 'asylgrp\\workbench\\Storage\\ClaimStorageSubscriber']; foreach ($subscribers as $subscriberClass) { $di->get('event_dispatcher')->addSubscriber($di->newInstance($subscriberClass)); } // Create manifest $di->get('router_map')->get('manifest', '', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\RespondingAction', ['responder' => $di->lazyNew('asylgrp\\workbench\\Http\\Responder\\ManifestResponder')])); /** * Setup routes for the CONTACTS namespace */ $di->get('router_map')->attach('contacts.', '/contacts', function ($map) use($di) { $map->get('coll.read', '', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\RespondingAction', ['responder' => $di->lazyNew('asylgrp\\workbench\\Http\\Responder\\ContactCollectionResponder')])); $map->get('item.read', '/{id}', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\ReadIdAction', ['responder' => $di->lazyNew('asylgrp\\workbench\\Http\\Responder\\ContactItemResponder')])); $map->get('item.claims', '/{id}/claims', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\ReadIdAction', ['responder' => $di->lazyNew('asylgrp\\workbench\\Http\\Responder\\ClaimCollectionResponder')])); $map->delete('item.delete', '/{id}', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\DeleteContactAction')); // TODO ... $map->post('item.create', '', $di->lazyNew('TODO asylgrp\\workbench\\Http\\Action\\CreateContact')); $map->put('item.update', '/{id}', $di->lazyNew('TODO asylgrp\\workbench\\Http\\Action\\UpdateContact')); }); /** * Setup routes for the CLAIMS namespace */ $di->get('router_map')->attach('claims.', '/claims', function ($map) use($di) { $map->get('coll.read', '', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\RespondingAction', ['responder' => $di->lazyNew('asylgrp\\workbench\\Http\\Responder\\GroupedClaimCollectionResponder')])); $map->get('item.read', '/{id}', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\ReadIdAction', ['responder' => $di->lazyNew('asylgrp\\workbench\\Http\\Responder\\ClaimItemResponder')])); $map->delete('coll.truncate', '', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\TruncateClaimsAction')); $map->delete('item.delete', '/{id}', $di->lazyNew('asylgrp\\workbench\\Http\\Action\\DeleteClaimAction')); // TODO ... $map->post('item.create', '', $di->lazyNew('TODO asylgrp\\workbench\\Http\\Action\\CreateClaim')); $map->put('item.update', '/{id}', $di->lazyNew('TODO asylgrp\\workbench\\Http\\Action\\UpdateClaim')); }); }
<?php use Aura\Di\Container; use Aura\Di\Factory; $di = new Container(new Factory()); $di->set('A', $di->lazyNew('A')); //trigger autoloader for all required files $a = $di->newinstance('A'); unset($a); $t1 = microtime(true); for ($i = 0; $i < 10000; $i++) { $a = $di->newinstance('A'); } $t2 = microtime(true); $results = ['time' => $t2 - $t1, 'files' => count(get_included_files()), 'memory' => memory_get_peak_usage() / 1024 / 1024]; echo json_encode($results);
public function define(Container $di) { $di->set('aura/project-kernel:logger', $di->lazyNew('Monolog\\Logger')); $di->params['Aura\\View\\TemplateRegistry']['paths'] = array(dirname(__DIR__) . '/templates/views', dirname(__DIR__) . '/templates/layouts'); $di->set('view', $di->lazyNew('Aura\\View\\View')); }
<?php use Aura\Di\Container; use Aura\Di\Factory; $di = new Container(new Factory()); $di->params['J'] = ['i' => $di->lazyNew('I')]; $di->params['I'] = ['h' => $di->lazyNew('H')]; $di->params['H'] = ['g' => $di->lazyNew('G')]; $di->params['G'] = ['f' => $di->lazyNew('F')]; $di->params['F'] = ['e' => $di->lazyNew('E')]; $di->params['E'] = ['d' => $di->lazyNew('D')]; $di->params['D'] = ['c' => $di->lazyNew('C')]; $di->params['C'] = ['b' => $di->lazyNew('B')]; $di->params['B'] = ['a' => $di->lazyNew('A')]; //trigger autoloader for all required files $a = $di->newinstance('J'); unset($a); $t1 = microtime(true); for ($i = 0; $i < 10000; $i++) { $j = $di->newinstance('J'); } $t2 = microtime(true); $results = ['time' => $t2 - $t1, 'files' => count(get_included_files()), 'memory' => memory_get_peak_usage() / 1024 / 1024]; echo json_encode($results);