public function registerServices() { $config = $this->container->get('config'); $this->container->set('request', function () { return Request::createFromEnvironment(); }, \false); $this->container->set('response', function () { return new HtmlResponse(); }, \false); $this->container->set('router', function () { return new Router(); }, \false); $this->container->set('event', function () { return new Event\Manager(); }, \false); $this->container->set('logger', function () use($config) { return new FileLog($config->get('log')); }, \false); if ($config->get('log.enabled')) { $logger = $this->container->get('logger'); ErrorHandler::register($logger); CoreException::setLogger($logger); } $this->container->setBindings($this, ['resolver' => 'registerResolverBinder', 'exception.handler' => 'registerExceptionBinder', 'translator' => 'registerTranslatorBinder', 'caches' => 'registerCacheBinder', 'cache' => 'registerCacheBinder', 'acl' => 'registerAclBinder', 'db' => 'registerDbBinder']); }
$config = []; if (is_file($cachedConfigFile)) { // Try to load the cached config $config = (include $cachedConfigFile); } else { // Load configuration from autoload path foreach (glob('{application/config/*.php,application/config/modules/*.php}', GLOB_BRACE) as $file) { $config = Utils::merge($config, include $file); } // Cache config if enabled if (isset($config['config_cache_enabled']) && $config['config_cache_enabled'] === true) { file_put_contents($cachedConfigFile, '<?php return ' . var_export($config, true) . ';'); } } $container = new Container(); $container->set('config', new Config($config)); /* $container->set('logger', function () { $monolog = new Monolog\Logger('app'); $handler = new Monolog\Handler\StreamHandler('data/log/your.html', Monolog\Logger::DEBUG); $handler->setFormatter(new Monolog\Formatter\HtmlFormatter()); $monolog->pushHandler($handler); return $monolog; }); */ /* $container->set('exception.handler', function () { $whoops = new Whoops\Run(); $whoops->allowQuit(false); $whoops->writeToOutput(false); $whoops->pushHandler(new Whoops\Handler\PrettyPageHandler()); return $whoops; }); */ return $container;