/** * {@inheritDoc} */ public function init(Application $app) { $app['spot.connections.default'] = null; $app['spot.connections'] = ['main' => $app['database.dsn']]; $app['spot'] = $app->share(function () use($app) { return new Locator($app['spot.config']); }); $app['spot.config'] = $app->share(function () use($app) { $config = new Config(); $connections = $app['spot.connections']; if ($connections instanceof Pimple) { $keys = $connections->keys(); } else { $keys = array_keys($connections); } foreach ($keys as $key) { if (isset($app['spot.connections.default']) && $key === $app['spot.connections.default']) { $default = true; } else { $default = false; } $config->addConnection($key, $connections[$key], $default); } return $config; }); }
/** * {@inheritDoc} */ public function init(Application $app) { $app['hive'] = $app->share(function () use($app) { $hive = new Hive(); $hive->setRedis($app['hive.redis']); return $hive; }); }
/** * {@inheritDoc} */ public function init(Application $app) { $app['cache'] = $app->share(function () use($app) { switch ($app['cache.driver']) { case 'redis': return new Cache\RedisCache($app); break; default: return new Cache\ArrayCache($app); break; } }); }
/** * {@inheritDoc} */ public function init(Application $app) { $app['assets'] = $app->share(function () use($app) { $assetManager = new AssetManager(); $filterManager = new FilterManager(); $filterManager->set('less', new LessphpFilter()); $filterManager->set('cssmin', new CssMinFilter()); $filterManager->set('jsmin', new JSqueezeFilter()); $factory = new AssetFactory($app['assets.path']); $factory->setAssetManager($assetManager); $factory->setFilterManager($filterManager); $factory->setDefaultOutput('misc/*'); return $factory; }); }
/** * {@inheritDoc} */ public function init(Application $app) { $cache = isset($app['twig.options']['cache']) ? $app['twig.options']['cache'] : false; $app['twig.options'] = array_merge($app['twig.options'], ['debug' => $app->getDebug(), 'cache' => $app->getDebug() ? false : $cache]); $app->register(new TwigServiceProvider(), ['twig.path' => $app['twig.path'], 'twig.templates' => $app['twig.templates'], 'twig.options' => $app['twig.options']]); $app['twig.loader.array'] = function ($app) { return new TwigTemplateLoader($app['twig.templates']); }; $app['twig'] = $app->share($app->extend('twig', function ($twig, $app) { foreach ($app['twig.extensions'] as $extension) { $twig->addExtension(new $extension($app)); } return $twig; })); }
/** * {@inheritDoc} */ public function init(Application $app) { $app->register(new RoutingServiceProvider('router.routes')); $app->register(new UrlGeneratorServiceProvider()); }