ORM::configure('mysql:host=' . getenv('DB_HOST') . ';dbname=' . getenv('DB_NAME')); ORM::configure('username', getenv('DB_USERNAME')); ORM::configure('password', getenv('DB_PASSWORD')); Model::$auto_prefix_models = '\\app\\models\\'; // configure views $app->view()->parserOptions = ['debug' => true, 'cache' => APP_PATH . '/storage/twig']; $app->view()->parserExtensions = [new \Slim\Views\TwigExtension(), new \src\twig\TwigExtension()]; // environment depending settings if (getenv('APP_DEBUG') == 'true') { // configure logging $app->config('debug', true); // configure request logging $app->hook('slim.after.router', function () use($app) { $request = $app->request; $response = $app->response; $app->log->debug(sprintf('Request path: %s - Response status: %d', $request->getPathInfo(), $response->getStatus())); }); // configure error reporting $app->add(new \Zeuxisoo\Whoops\Provider\Slim\WhoopsMiddleware()); // configure model logging ORM::configure('logging', true); ORM::configure('logger', function ($log_string, $query_time) use($app) { $app->getLog()->debug('Query [' . $log_string . '] time: [' . $query_time . ' seconds]'); }); } else { $app->config('debug', false); } // load routes require_once APP_PATH . '/app/routes.php'; // run the app $app->run();