Exemplo n.º 1
0
    return $capsule;
};
// View
$container['view'] = function ($c) {
    $view = new \Slim\Views\Twig($c['settings']['view']['template_path'], $c['settings']['view']['twig']);
    // Add extensions
    //    echo "uri: ".$c['request']->getUri();
    $view->addExtension(new Slim\Views\TwigExtension($c['router'], $c['request']->getUri()));
    $view->addExtension(new Twig_Extension_Debug());
    //    $view->addExtension(new MVC4Slim\TwigExtension($c['flash']));
    $view->addExtension(new TwigExtension($c['flash']));
    return $view;
};
// CSRF guard
$container['csrf'] = function ($c) {
    $guard = new \Slim\Csrf\Guard();
    $guard->setFailureCallable(function ($request, $response, $next) {
        $request = $request->withAttribute("csrf_status", false);
        return $next($request, $response);
    });
    return $guard;
};
// Flash messages
$container['flash'] = function ($c) {
    return new \Slim\Flash\Messages();
};
// controller
$container['Bookshelf\\Controllers\\AuthorController'] = function ($c) {
    return new Bookshelf\Controllers\AuthorController($c);
};
$container['Bookshelf\\Controllers\\BookController'] = function ($c) {
Exemplo n.º 2
0
$container['view'] = function ($c) {
    $config = $c->get('config');
    $settings = $c->get('settings');
    $tema = $config['tema'];
    $view = new Slim\Views\Twig($settings['view']['template_path'] . DS . $tema, $settings['view']['twig']);
    // Add extensions
    $view->addExtension(new Slim\Views\TwigExtension($c->get('router'), $c->get('request')->getUri()));
    $view->addExtension(new Twig_Extension_Debug());
    $view->addExtension(new TranslationExtension($c->get('translator')));
    $config = $c->get('config');
    $view->getEnvironment()->addGlobal('config', $config);
    return $view;
};
// CSRF Guard
$container['csrf'] = function ($c) {
    $guard = new Slim\Csrf\Guard();
    $guard->setFailureCallable(function ($request, $response, $next) {
        $newResponse = $response->withHeader('Content-type', 'application/json');
        return $newResponse->write(json_encode(['status' => false, 'msg' => 'CSRF Failed. Reload page.']));
    });
    return $guard;
};
// -----------------------------------------------------------------------------
// Service factories
// -----------------------------------------------------------------------------
// monolog
$container['logger'] = function ($c) {
    $settings = $c->get('settings');
    $path = $settings['logger']['path'];
    $y = date('Y');
    $m = date('m');