Class yii\httpclient\CurlFormatter

Inheritanceyii\httpclient\CurlFormatter » yii\base\BaseObject
Available since extension's version2.0.9
Source Code

CURLFormatter is used with CurlTransport to format the content of the request as an array with the field name as key and field data as value

See also \yii\httpclient\CURLOPT_POSTFIELDS.

Public Properties

Hide inherited properties

Property Type Description Defined By
$encodingType integer URL encoding type. yii\httpclient\CurlFormatter

Public Methods

Hide inherited methods

Method Description Defined By
format() Formats given HTTP request message. yii\httpclient\CurlFormatter

Property Details

Hide inherited properties

$encodingType public property

URL encoding type. Possible values are:

  • PHP_QUERY_RFC1738 - encoding is performed per 'RFC 1738' and the 'application/x-www-form-urlencoded' media type, which implies that spaces are encoded as plus (+) signs. This is most common encoding type used by most web applications.
  • PHP_QUERY_RFC3986 - then encoding is performed according to 'RFC 3986', and spaces will be percent encoded (%20). This encoding type is required by OpenID and OAuth protocols.
public integer $encodingType PHP_QUERY_RFC1738

Method Details

Hide inherited methods

format() public method

Formats given HTTP request message.

public yii\httpclient\Request format ( yii\httpclient\Request $request )
$request yii\httpclient\Request

HTTP request instance.

return yii\httpclient\Request

Formatted request.

                public function format(Request $request)
    $data = $request->getData();
    if (strcasecmp('GET', $request->getMethod()) === 0) {
        if ($data !== null) {
            $content = http_build_query((array)$data, '', '&', $this->encodingType);
            $url = $request->getFullUrl();
            $url .= (strpos($url, '?') === false) ? '?' : '&';
            $url .= $content;
        return $request;
    if ($data !== null) {
    } else {
        $request->getHeaders()->set('Content-Length', '0');
    return $request;