$db = function () use($config) { return new \PDO('mysql:host=' . $config->get('database.host') . ';dbname=' . $config->get('database.db_name'), $config->get('database.user'), $config->get('database.password'), [\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC]); }; // Load configuration data from database $stmt = $db()->prepare('SELECT Config_group.Name AS Type, Config.Name, Config.Value FROM Config JOIN Config_group WHERE Config.Config_group_id = Config_group.id'); $stmt->execute(); $dbConfig = []; foreach ($stmt->fetchAll() as $row) { if (!isset($dbConfig[$row['Type']])) { $dbConfig[$row['Type']] = [$row['Name'] => $row['Value']]; } else { $dbConfig[$row['Type']] += [$row['Name'] => $row['Value']]; } } // Add database configuration to config array $config->add($dbConfig); /** * Start Request Response Objects */ $request = function () { return \Sabre\HTTP\Sapi::getRequest(); }; $response = function () { return new \Sabre\HTTP\Response(); }; /** * Start url parser */ $url = \Purl\Url::fromCurrent(); // determine if we are on https or not $ssl = $url['port'] == '443' ? true : false;