Bolt\Configuration\Validation\Database::check PHP Method

check() public method

public check ( Bolt\Controller\ExceptionControllerInterface $exceptionController )
$exceptionController Bolt\Controller\ExceptionControllerInterface
    public function check(ExceptionControllerInterface $exceptionController)
    {
        /** @var Controller\Exception $exceptionController */
        $dbConfig = $this->config->get('general/database');
        $driver = $dbConfig['driver'];
        if ($driver === 'pdo_sqlite') {
            return $this->doDatabaseSqliteCheck($exceptionController, $dbConfig);
        }
        if (!in_array($driver, ['pdo_mysql', 'pdo_pgsql'])) {
            return $exceptionController->databaseDriver('unsupported', null, $driver);
        }
        if ($driver === 'pdo_mysql' && extension_loaded('pdo_mysql') === false) {
            return $exceptionController->databaseDriver('missing', 'MySQL', 'pdo_mysql');
        }
        if ($driver === 'pdo_pgsql' && extension_loaded('pdo_pgsql') === false) {
            return $exceptionController->databaseDriver('missing', 'PostgreSQL', 'pdo_pgsql');
        }
        if (empty($dbConfig['dbname'])) {
            return $exceptionController->databaseDriver('parameter', null, $driver, 'databasename');
        }
        if (empty($dbConfig['user'])) {
            return $exceptionController->databaseDriver('parameter', null, $driver, 'username');
        }
        if (empty($dbConfig['password']) && $dbConfig['user'] === 'root') {
            return $exceptionController->databaseDriver('insecure', null, $driver);
        }
        return null;
    }