Exemple #1
0
 public function resolve($handler)
 {
     if (is_array($handler) and is_string($handler[0])) {
         $this->container->share($handler[0])->withArguments([$this->container]);
         $handler[0] = $this->container->get($handler[0]);
     }
     return $handler;
 }
 /**
  * Load the DI container and return it
  *
  * @return Container
  */
 private function loadContainer()
 {
     $container = new Container();
     $objects = (require_once __DIR__ . '/../config/container.php');
     $container->share('response', Response::class);
     $container->share('request', function () {
         return ServerRequestFactory::fromGlobals($_SERVER, $_GET, $_POST, $_COOKIE, $_FILES);
     });
     $container->share('emitter', SapiEmitter::class);
     foreach ($objects as $object) {
         $container->add($object['name'], $object['concrete'], isset($object['shared']) ? $object['shared'] : false);
     }
     $container->share('events', $this->loadEvents($container));
     return $container;
 }
 public function testProvidesSlugifyUsingSharedProvider()
 {
     $container = new Container();
     $ruleProvider = $this->getRuleProviderMock();
     $container->share(RuleProviderInterface::class, $ruleProvider);
     $container->addServiceProvider(new SlugifyServiceProvider());
     $slugify = $container->get(SlugifyInterface::class);
     $this->assertAttributeSame($ruleProvider, 'provider', $slugify);
 }
Exemple #4
0
 public function register(Container $app)
 {
     $app->share('current_request', function () {
         //$_POST => $request->request->all();
         //$_GET => $request->query->all()
         //$_FILES => $request->files->all()
         return Request::createFromGlobals();
     });
 }
Exemple #5
0
 public function register(Container $app)
 {
     $app->share('view', function () use($app) {
         $config = $app->get('config');
         $supportView = new ViewSupport($app);
         $view = new View($config->get("environment.host"), $supportView);
         return $view;
     });
 }
Exemple #6
0
 public function register(Container $app)
 {
     $app->share('event', function () use($app) {
         $paths = $app->get('paths');
         $event = Event::getInstance();
         $event->loadListeners($paths['listeners']);
         $event->setResolver(new EventResolver($app));
         return $event;
     });
 }
Exemple #7
0
 public function register(Container $app)
 {
     $app->share('dispatch', function () use($app) {
         $request = $app->get('current_request');
         $response = $this->wrapResponse($this->dispatch($app, $request));
         //// Head responses should not return a content body
         $request->isMethod('head') and $response->setContent(null);
         return $response;
     });
 }
Exemple #8
0
 public function register(Container $app)
 {
     $app->share('commands', function () use($app) {
         $paths = $app->get('paths');
         $commands = $this->getCommands($paths['commands']);
         return array_map(function ($commandName) use($app) {
             $app->add($commandName);
             return $app->get($commandName)->setContainer($app);
         }, $commands);
     });
 }
 /**
  * @return Container
  */
 protected function makeContainer()
 {
     $container = new Container();
     $container->delegate(new ReflectionContainer());
     $container->addServiceProvider(new RequestServiceProvider());
     $container->addServiceProvider(new RoutingServiceProvider());
     $container->addServiceProvider(new PlatesServiceProvider());
     $container->share(Configuration::class, function () {
         return $this->configuration;
     });
     return $container;
 }
Exemple #10
0
 public function register(Container $app)
 {
     $app->share('router', function () use($app) {
         $router = new Router();
         $paths = $app->get('paths');
         $collector = $this->getRouteCollectorCallback($paths['routes']);
         $collector($router);
         $routeData = $router->getData();
         $dispatcher = new Dispatcher($routeData);
         return $dispatcher;
     });
 }
Exemple #11
0
 public function register(Container $app)
 {
     $app->share('database', function () use($app) {
         //https://siipo.la/blog/how-to-use-eloquent-orm-migrations-outside-laravel
         $default = ['driver' => 'mysql', 'host' => 'localhost', 'charset' => 'utf8', 'collation' => 'utf8_general_ci', 'prefix' => ''];
         $config = $app->get('config');
         $env = $config->get('environment');
         $database = $config->get("environments.{$env}.bbdd");
         $properties = array_merge($default, $database);
         $capsule = new Manager();
         $capsule->addConnection($properties);
         $capsule->setAsGlobal();
         $capsule->bootEloquent();
         // set timezone for timestamps etc
         //date_default_timezone_set('UTC');
         return $capsule;
     });
     $app->get('database');
 }
Exemple #12
0
 public function register(Container $app)
 {
     $app->share('config', function () use($app) {
         $paths = $app->get('paths');
         $configs = (require_once $paths['config']);
         $app_path = $paths['app'];
         $autoloads = ["files" => [$app_path . '/helpers.php']];
         $config = new Config($configs, $autoloads);
         $request = $app->get('current_request');
         $environment = $this->getEnvironment($request, $config->get('environments'));
         $config->set('environment', $environment ?: $config->get('environment'));
         $debugMode = $config->get('environment.development');
         $config->set("paths", $paths);
         $handle = new HandleError($debugMode, $paths['log']);
         $config->setupErrors($handle);
         $this->setHandlers($config);
         $this->setScope($config, $request->getPathInfo());
         $this->loadLang($config);
         return $config;
     });
 }
<?php

use JGimeno\TaskReporter\App\ServiceProvider;
use League\Container\Container;
require_once 'vendor/autoload.php';
$container = new Container();
$container->share('isDevMode', true);
$container->addServiceProvider(new ServiceProvider\MailServiceProvider())->addServiceProvider(new ServiceProvider\ConfigurationServiceProvider())->addServiceProvider(new ServiceProvider\RepositoryServiceProvider())->addServiceProvider(new ServiceProvider\CommandServiceProvider())->addServiceProvider(new ServiceProvider\ConsoleServiceProvider());
Exemple #14
0
 public function testProvider()
 {
     $container = new Container();
     $container->share('Interop\\Container\\ContainerInterface', $container);
     $container->addServiceProvider('Laasti\\Lazydata\\Providers\\LeagueLazydataProvider');
     $this->assertTrue($container->get('Laasti\\Lazydata\\Resolvers\\FilterResolver') instanceof FilterResolver);
     $this->assertTrue($container->get('Laasti\\Lazydata\\Resolvers\\ContainerResolver') instanceof ContainerResolver);
     $this->assertTrue($container->get('Laasti\\Lazydata\\Resolvers\\CallableResolver') instanceof CallableResolver);
     //$this->assertTrue($container->get('Laasti\Lazydata\ResponderData') instanceof ResponderData);
     $this->assertTrue($container->get('Laasti\\Lazydata\\Data') instanceof Data);
     $this->assertTrue($container->get('Laasti\\Lazydata\\IterableData') instanceof IterableData);
     $this->assertTrue($container->get('Laasti\\Lazydata\\Resolvers\\ResolverInterface') instanceof ContainerResolver);
 }
// Get the app container.
$container = new Container();
// Utilise container 'auto wiring' to automatically inject
// dependencies into our controllers.
$container->delegate(new ReflectionContainer());
/**
 * ----------------------------------------------------------------------------
 * Core Services
 * ----------------------------------------------------------------------------
 * These services are required by core. DO NOT remove these entries unless
 * you are very sure what you're doing.
 *
 * Really.
 */
$container->share('Symfony\\Component\\HttpFoundation\\Request', function () {
    return Symfony\Component\HttpFoundation\Request::createFromGlobals();
});
$container->share('Symfony\\Component\\HttpFoundation\\Response');
/**
 * ----------------------------------------------------------------------------
 * Additional Services
 * ----------------------------------------------------------------------------
 * Define extra services for the application to use here. The services can be
 * mapped to fully qualified class names or aliases and they can also be shared.
 *
 * Examples:
 *
 * // Fully qualified class name
 * $container->add('Acme\Service\SomeService');
 *
 * // Aliased class.
 public function register(Container $app)
 {
     $app->share('controller_resolver', function () use($app) {
         return new ControllerResolver($app);
     });
 }