public function validate($value) { parent::validate($value); $pattern = self::PATTERN; $parts = explode(":", $value); if (count($parts) < 2 || $parts[0] !== self::DRIVERNAME || !preg_match("/{$pattern}/is", $parts[1])) { throw new ErrorException("Invalid DSN for inmemory database: '{$value}'"); } }