public function getFormatter($format)
{
static $defaultFormatters = [self::FORMAT_JSON => 'yii\\httpclient\\JsonFormatter', self::FORMAT_URLENCODED => ['class' => 'yii\\httpclient\\UrlEncodedFormatter', 'encodingType' => PHP_QUERY_RFC1738], self::FORMAT_RAW_URLENCODED => ['class' => 'yii\\httpclient\\UrlEncodedFormatter', 'encodingType' => PHP_QUERY_RFC3986], self::FORMAT_XML => 'yii\\httpclient\\XmlFormatter'];
if (!isset($this->formatters[$format])) {
if (!isset($defaultFormatters[$format])) {
throw new InvalidParamException("Unrecognized format '{$format}'");
}
$this->formatters[$format] = $defaultFormatters[$format];
}
if (!is_object($this->formatters[$format])) {
$this->formatters[$format] = Yii::createObject($this->formatters[$format]);
}
return $this->formatters[$format];
}