public function check()
{
$msg = 'Could not talk to database server';
try {
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_TIMEOUT => $this->timeout);
$pdo = new PDO($this->dsn, $this->username, $this->password, $options);
$status = $pdo->getAttribute(PDO::ATTR_CONNECTION_STATUS);
if (null !== $status) {
return new Result\Success('Connection to database server was successful.');
}
} catch (\PDOException $e) {
// skip to failure
$msg .= ', e: ' . $e->getCode();
}
return new Result\Failure($msg);
}