Exemple #1
0
<?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;
Exemple #2
0
<?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;
Exemple #3
0
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);
});
Exemple #4
0
<?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;