<?php // Inversion of Control: Register services to the dependency injection container $container = new \League\Container\Container(); $container->share('ArticlesRepository', '\\FizzBuzz\\Service\\ArticlesRepository'); $container->share('SectionsRepository', '\\FizzBuzz\\Service\\SectionsRepository'); return $container;
<?php $app = new \League\Container\Container(); $app->share('paths', function () { return ['root' => __DIR__ . '/..', 'app' => __DIR__, 'public' => __DIR__ . '/../httpdocs', 'config' => __DIR__ . '/config.php', 'views' => __DIR__ . '/Views', 'storage' => __DIR__ . '/../temp', 'log' => __DIR__ . '/../log', 'routes' => __DIR__ . '/routes.php', 'listeners' => __DIR__ . '/listeners.php', 'commands' => __DIR__ . '/commands.php', 'version' => __DIR__ . '/../version.json']; }); $providers = [new App\Provider\RequestProvider(), new App\Provider\ConfigProvider(), new App\Provider\DBProvider(), new App\Provider\RouterProvider(), new App\Provider\ViewProvider(), new App\Provider\DispatchProvider(), new App\Provider\ControllerResolverProvider(), new App\Provider\CommandProvider(), new App\Provider\AppProvider(), new App\Provider\EventProvider(), new App\Provider\SessionProvider()]; array_walk($providers, function ($provider) use($app) { $provider->register($app); }); return $app;
add_theme_support('html5', array('search-form', 'comment-form', 'comment-list', 'gallery', 'caption')); /** * Register language file */ add_action('after_setup_theme', function () { load_theme_textdomain('jets', get_template_directory() . '/languages'); }); /** * Set DI container */ $jets_container = new League\Container\Container(); /** * Register theme config */ $jets_container->share('config', function () { $path = __DIR__ . '/config/config.yaml'; return new \Jets\Config($path); }); /** * Register assets enqueuer */ $jets_container->share('enqueuer', function () use($jets_container) { $config = $jets_container->get('config'); return new \Jets\Enqueuer($config); }); /** * Register menus manager */ $jets_container->share('menus', function () use($jets_container) { $config = $jets_container->get('config'); return new \Jets\Menu_Helper($config); });
<?php // Inversion of Control: Register services to the dependency injection container $container = new \League\Container\Container(); $container->share('ArticlesRepository', '\\FizzBuzz\\Service\\ArticlesRepository'); $container->share('SectionsRepository', '\\FizzBuzz\\Service\\SectionsRepository'); $container->share('Renderer', function () use($container) { $tpl = new \FizzBuzz\Renderer(); $tpl->container = $container; return $tpl; }); $container->share('Menu', function () use($container) { $menu = new \FizzBuzz\Service\Menu($container); return $menu; }); $container->share('Router', function () use($router) { return $router; }); return $container;
<?php $container = new League\Container\Container(); /* Response */ $container->share('response', \Zend\Diactoros\Response::class); /* Request */ $container->share('request', function () { return \Zend\Diactoros\ServerRequestFactory::fromGlobals($_SERVER, $_GET, $_POST, $_COOKIE, $_FILES); }); /* Emitter */ $container->share('emitter', Zend\Diactoros\Response\SapiEmitter::class); /* Template Engine */ $container->share('templater', function () { return new \League\Plates\Engine(__DIR__ . '/../resources/views'); }); /* Controllers */ $container->add(\Gulchuk\Controllers\Frontend\PageController::class)->withArguments(['request', 'response']); $container->add(\Gulchuk\Controllers\Frontend\BlogController::class)->withArguments(['request', 'response']); $container->add(\Gulchuk\Controllers\AuthController::class)->withArguments(['request', 'response']); $container->add(\Gulchuk\Controllers\Backend\DashboardController::class)->withArguments(['request', 'response']); return $container;