return new Socrate\Router($di);
};
$di['slugify'] = function ($di) {
    return new Cocur\Slugify\Slugify();
};
$di['db'] = function ($di) {
    return new Socrate\Pdo('sqlite:' . DOCUMENT_ROOT . '/data/db.sqlite');
};
$di['cache'] = function ($di) {
    // @todo: find an alternative to doctrine cache
    if (IS_DEV) {
        $cache = new Doctrine\Common\Cache\ArrayCache();
    } else {
        $cache = new Doctrine\Common\Cache\PhpFileCache(DOCUMENT_ROOT . '/data/cache');
    }
    $cache->setNamespace(@$_SERVER['HTTP_HOST']);
    return $cache;
};
$di['mailer'] = function ($di) {
    if (IS_DEV) {
        $transport = Swift_NullTransport::newInstance();
    } else {
        $transport = Swift_MailTransport::newInstance();
    }
    return Swift_Mailer::newInstance($transport);
};
/**
 * Interlinking functions
 */
function _path($path = null)
{
 protected function getLcn_WeatherForecast_CacheService()
 {
     $this->services['lcn.weather_forecast.cache'] = $instance = new \Doctrine\Common\Cache\PhpFileCache(__DIR__);
     $instance->setNamespace('lcn_weather_forecast');
     return $instance;
 }