Airship\Installer\Install::finalConfigDatabases PHP Method

finalConfigDatabases() protected method

This is in a separate method so it can be unit tested
protected finalConfigDatabases ( Twig_Environment $twig ) : string
$twig Twig_Environment
return string
    protected function finalConfigDatabases(\Twig_Environment $twig) : string
    {
        $databases = [];
        $databases['default'] = [['driver' => $this->data['database'][0]['driver'], 'host' => $this->data['database'][0]['host'] ?? 'localhost', 'port' => $this->data['database'][0]['port'] ?? null, 'database' => $this->data['database'][0]['dbname'], 'username' => $this->data['database'][0]['username'], 'password' => $this->data['database'][0]['password'], 'options' => []]];
        $n = \count($this->data['database']);
        if ($n > 1) {
            for ($i = 1; $i < $n; ++$i) {
                $row = $this->data['database'][$i];
                // By default, we treat these as redundancy databases:
                $g = $row['group'] ?? 'default';
                if (empty($databases[$g])) {
                    $databases[$g] = [];
                }
                $databases[$g][] = ['driver' => $this->data['database'][$i]['driver'], 'host' => $this->data['database'][$i]['host'] ?? 'localhost', 'port' => $this->data['database'][$i]['port'] ?? null, 'database' => $this->data['database'][$i]['dbname'], 'username' => $this->data['database'][$i]['username'], 'password' => $this->data['database'][$i]['password'], 'options' => []];
            }
        }
        return $twig->render('databases.twig', ['databases' => $databases]);
    }