public function modify(Container $di)
 {
     $adr = $di->get('radar/adr:adr');
     /**
      * Middleware
      */
     $adr->middle(new ResponseSender());
     $adr->middle(new ExceptionHandler(new Response()));
     $adr->middle('Radar\\Adr\\Handler\\RoutingHandler');
     $adr->middle('Radar\\Adr\\Handler\\ActionHandler');
     /**
      * Setup
      */
     $adr->input('Blog\\Delivery\\Input\\MergedArray');
     $adr->responder('Blog\\Delivery\\Responder\\Html');
     /**
      * Data
      */
     $postGateway = $di->get('blog/domain:postGateway');
     $postGateway->savePost(new PostEntity('Sample Post 1', 'This is the first sample post.', '', '1'));
     $postGateway->savePost(new PostEntity('Sample Post 2', 'This is the second sample post.', '', '2'));
     $postGateway->savePost(new PostEntity('Sample Post 3', 'This is the third sample post.', '', '3'));
     // $dbh = $di->get('dbh');
     // $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     /**
      * Routing
      */
     $adr->get('ListAllPosts', '/', 'Blog\\Domain\\Interactor\\ListAllPosts')->input('Blog\\Delivery\\Input\\NoneExpected')->defaults(['_view' => 'listposts.html.php']);
     $adr->get('DisplaySinglePost', '/{id}/', 'Blog\\Domain\\Interactor\\DisplaySinglePost')->input('Blog\\Delivery\\Input\\IdOnly')->defaults(['_view' => 'singlepost.html.php']);
     $adr->post('CreateNewPost', '/', 'Blog\\Domain\\Interactor\\CreateNewPost')->input('Blog\\Delivery\\Input\\CreateNewPost')->responder('Blog\\Delivery\\Responder\\Redirect');
 }
 private function _getInstance()
 {
     if ($this->_instance === null) {
         $this->_instance = $this->_diContainer->get($this->_instanceName);
     }
     return $this->_instance;
 }
Exemple #3
0
 public function modifyWebDispatcher(Container $di)
 {
     /** @var \Aura\View\View $view */
     $view = $di->get('view');
     /** @var \Aura\Dispatcher\Dispatcher $dispatcher */
     $dispatcher = $di->get('aura/web-kernel:dispatcher');
     /** @var \Aura\Web\Response $response */
     $response = $di->get('aura/web-kernel:response');
     /** @var \Aura\Web\Request $request */
     $request = $di->get('aura/web-kernel:request');
     $dispatcher->setObject('hello', function () use($view, $response, $request) {
         $view->setView('api_response');
         $view->setLayout('index');
         $response->content->set($view->__invoke());
     });
     $dispatcher->setObject('system', function () use($view, $response, $request) {
         $view->setView('api_response');
         $view->setLayout('index');
         new \System\setData($request, $response, $view);
     });
     $dispatcher->setObject('alert', function () use($view, $response, $request) {
         $view->setView('api_response');
         $view->setLayout('index');
         new \Alert\Uploader($request, $response, $view);
     });
 }
Exemple #4
0
 protected function get($service)
 {
     $services = $this->serviceContainer->getServices();
     if (array_search($service, $services) === false) {
         return false;
     }
     return $this->serviceContainer->get($service);
 }
Exemple #5
0
 public function modify(Container $di)
 {
     $dispatcher = $di->get('aura/cli-kernel:dispatcher');
     $dispatcher->setObject('logger', $di->newInstance('Mbrevda\\MonologServer\\ServerRunner'));
     $help_service = $di->get('aura/cli-kernel:help_service');
     $help = $di->newInstance('Aura\\Cli\\Help');
     $help_service->set('logger', function () use($help) {
         $help->setSummary('Runs the Streaming Logger Server');
         $help->setOptions(['addr:' => 'The address that the server will listen on']);
         return $help;
     });
 }
Exemple #6
0
 public function modify(Container $di)
 {
     $router = $di->get("router");
     $router->get(['/', 'index'], ['Puzzle\\Controllers\\PagesController', 'index']);
     $router->get(['/404.html', '404'], ['Puzzle\\Controllers\\PagesController', 'send404']);
     $router->get(['/{slug}.html', 'getPage'], ['Puzzle\\Controllers\\PagesController', 'getPage']);
 }
 /**
  * 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'));
 }
Exemple #8
0
 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 modifyWebRouter(Container $di)
 {
     $router = $di->get('aura/web-kernel:router');
     $router->add('hello', '/')->setValues(array('action' => 'hello'));
     // Add an about page
     $router->add('about', '/about')->setValues(array('action' => 'about'));
     // Add a sales data display page
     $router->add('data-view-sales', '/data/view/sales')->setValues(array('action' => 'data-view-sales'));
 }
 /**
  *
  * Modifies constructed container objects.
  *
  * @param Container $di The DI container.
  *
  */
 public function modify(Container $di)
 {
     $adr = $di->get('radar/adr:adr');
     /**
      * Middleware
      */
     $adr->middle(new ResponseSender());
     $adr->middle(new ExceptionHandler(new Response()));
     $adr->middle('Radar\\Adr\\Handler\\RoutingHandler');
     $adr->middle('Radar\\Adr\\Handler\\ActionHandler');
     //$container->register(new \WhoopsPimple\WhoopsServiceProvider);
     /**
      * Input
      */
     // $adr->input('Application\Input\MergedArray');
     // $adr->input('Application\Input\NoneExpected');
     /**
      * Responder
      */
     // $adr->responder('Application\Responder\AuraViewResponder');
     /**
      * Routes
      */
     /**
      *
      * Index page route
      *
      */
     $adr->get('index.page', '/', \Application\Domain\HelloPayload::class)->responder('Application\\Responder\\AuraViewStaticPage')->defaults(['page' => 'index']);
     // aura view including static partials
     $adr->get('aura.staticpage', '/aura/{page}?', \Application\Domain\Aura::class)->responder('Application\\Responder\\AuraViewStaticPage')->defaults(['page' => 'index'])->tokens(['page' => '|index|mikka|mikka2|mikka3']);
     // database stuff
     $adr->get('aura.page', '/aura/{page}?', \Application\Domain\Aura::class)->responder('Application\\Responder\\AuraViewStaticPage')->defaults(['page' => 'content'])->tokens(['page' => 'content']);
     // page from DB
     $adr->get('db.page', '/dbpage{/page}?', \Application\Domain\Page::class)->input('Application\\Input\\Page')->responder('Application\\Responder\\AuraViewStaticPage')->defaults(['page' => 'index'])->tokens(['page' => '|index|mikka|mikka2|mikka3']);
     /**
      *
      * Static page views route
      *
      * @param input:
      * @param responder:
      * @param defaults: the default view to view when not defined
      * @return tokens: the allowed values
      *
      */
     //        $adr->get('static.page', '/page{/page}?', \Application\Domain\HelloPayload::class)
     //            ->input('Application\Input\MergedArray')
     //            ->responder('Application\Responder\AuraViewStaticPage')
     //            ->defaults([
     //                'page' => 'index'
     //            ])
     //            ->tokens([
     //                'page' => '|index|mikka|mikka2|mikka3'
     //            ]);
 }
Exemple #11
0
 /**
  * @param string $file
  * @return string classname, if not found returns ''
  */
 protected static function findClass(Container $di, $file)
 {
     require_once $file;
     $classname = basename($file, '.php');
     if (!class_exists($classname)) {
         $stdio = $di->get('aura/cli-kernel:stdio');
         $stdio->errln('<<red>>No such class: ' . $classname . ' in ' . $file . '<<reset>>');
         return '';
     }
     return $classname;
 }
Exemple #12
0
 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'));
     });
 }
Exemple #13
0
 /**
  * Modify
  *
  * @param Container $di DESCRIPTION
  *
  * @return mixed
  * @throws exceptionclass [description]
  *
  * @access public
  *
  * @SuppressWarnings(PHPMD.ShortVariable)
  */
 public function modify(Container $di)
 {
     $di->get('aura/view:view')->addData(['auth' => $di->get('aura/auth:auth'), 'csrf' => $di->get('aura/session:csrf')->getValue()]);
 }
 protected function createElasticsearchIndex()
 {
     $params = ['index' => 'tests', 'body' => ['mappings' => ['custom' => ['enabled' => true, 'properties' => ['firstname' => ['type' => 'string', 'index' => 'not_analyzed'], 'lastname' => ['type' => 'string', 'index' => 'not_analyzed']]]]]];
     $response = $this->di->get('tests/elasticsearch:client')->indices()->create($params);
     $this->assertTrue($response['acknowledged']);
 }
Exemple #15
0
 public function modify(Container $di)
 {
     Escaper::setStatic($di->get('aura/html:escaper'));
 }
<?php

use Aura\Di\Container;
use Aura\Di\Factory;
$di = new Container(new Factory());
$di->set('A', $di->lazyNew('A'));
//Trigger the autoloader
$a = $di->get('A');
unset($a);
$t1 = microtime(true);
for ($i = 0; $i < 10000; $i++) {
    $j = $di->get('A');
}
$t2 = microtime(true);
$results = ['time' => $t2 - $t1, 'files' => count(get_included_files()), 'memory' => memory_get_peak_usage() / 1024 / 1024];
echo json_encode($results);
Exemple #17
0
 protected function registerCommandHandlers(Container $di)
 {
     $map = $this->getCommandHandlerRepositoryServiceMap();
     $bus = $di->get('pollo/command-bus');
     foreach ($map as $handlerClass => $repositoryService) {
         $repository = $di->get($repositoryService);
         $handler = new $handlerClass($repository);
         $bus->subscribe($handler);
     }
 }
<?php

use Aura\Di\Container;
use Aura\Di\Factory;
$di = new Container(new Factory());
$di->set('A', $di->lazyNew('A'));
$di->set('B', $di->lazyNew('B'));
$di->params['B'] = ['a' => $di->get('A')];
//Trigger the autoloader before measuring execution time
$a = $di->newinstance('B');
unset($a);
$t1 = microtime(true);
for ($i = 0; $i < 10000; $i++) {
    $b = $di->newinstance('B');
}
$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 modifyWebRouter(Container $di)
 {
     $router = $di->get('aura/web-kernel:router');
     $router->add('hello', '/')->setValues(array('action' => 'hello'));
 }
Exemple #20
0
 public function modify(Container $di)
 {
     $twig = $di->get('twig');
     $twig->addExtension($di->newInstance('Twig_Extension_Debug'));
 }