}; $di['view'] = function () use($di, $config) { $view = new View(); $view->setViewsDir($config->application->viewsDir); $view->disableLevel([View::LEVEL_LAYOUT => true]); $volt = new VoltEngine($view, $di); $volt->setOptions(array('compiledPath' => $config->application->cacheDir, 'compiledSeparator' => '_')); $volt->getCompiler()->addExtension(new VoltExtension()); $view->registerEngines(array('.volt' => $volt)); return $view; }; $di['viewHelper'] = ViewHelper::CLASS; if (PHP_SAPI == 'cli') { $di["router"] = function () use($config) { $router = new CliRouter(); $router->scan($config->application->tasksDir); return $router; }; } else { $di['url'] = function () use($config) { $url = new UrlResolver(); $url->setBaseUri($config->application->baseUri); $url->setStaticBaseUri($config->application->staticBaseUri); return $url; }; $di['router'] = function () use($config) { $router = new Router(); $router->clear(); $router->scan($config->application->controllersDir); $router->setDefaultNamespace('AdminGen\\Controllers'); return $router;