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); }
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(); }); }
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; }); }
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; }); }
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; }); }
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; }
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; }); }
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'); }
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());
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); }); }