Class yii\httpclient\Client

Inheritanceyii\httpclient\Client » yii\base\Component
Available since version2.0

Client provide high level interface for HTTP requests execution.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$baseUrl string Base request URL. yii\httpclient\Client
$contentLoggingMaxSize integer Maximum symbols count of the request content, which should be taken to compose a log and profile messages. yii\httpclient\Client
$formatters array The formatters for converting data into the content of the specified \yii\httpclient\format. yii\httpclient\Client
$parsers array The parsers for converting content of the specified \yii\httpclient\format into the data. yii\httpclient\Client
$requestConfig array Request object configuration. yii\httpclient\Client
$responseConfig array Response config configuration. yii\httpclient\Client

Public Methods

Hide inherited methods

MethodDescriptionDefined By
afterSend() This method is invoked right after request is sent. yii\httpclient\Client
batchSend() Performs multiple HTTP requests in parallel. yii\httpclient\Client
beforeSend() This method is invoked right before request is sent. yii\httpclient\Client
createRequest() yii\httpclient\Client
createRequestLogToken() Composes the log/profiling message token for the given HTTP request parameters. yii\httpclient\Client
createResponse() Creates a response instance. yii\httpclient\Client
delete() Creates 'DELETE' request. yii\httpclient\Client
get() Creates 'GET' request. yii\httpclient\Client
getFormatter() Returns HTTP message formatter instance for the specified format. yii\httpclient\Client
getParser() Returns HTTP message parser instance for the specified format. yii\httpclient\Client
getTransport() yii\httpclient\Client
head() Creates 'HEAD' request. yii\httpclient\Client
options() Creates 'OPTIONS' request. yii\httpclient\Client
patch() Creates 'PATCH' request. yii\httpclient\Client
post() Creates 'POST' request. yii\httpclient\Client
put() Creates 'PUT' request. yii\httpclient\Client
send() Performs given request. yii\httpclient\Client
setTransport() Sets the HTTP message transport. It can be specified in one of the following forms: yii\httpclient\Client

Events

Hide inherited events

EventTypeDescriptionDefined By
EVENT_AFTER_SEND yii\httpclient\RequestEvent An event raised right after request has been sent. yii\httpclient\Client
EVENT_BEFORE_SEND yii\httpclient\RequestEvent An event raised right before sending request. yii\httpclient\Client

Constants

Hide inherited constants

ConstantValueDescriptionDefined By
FORMAT_JSON 'json' JSON format yii\httpclient\Client
FORMAT_RAW_URLENCODED 'raw-urlencoded' Urlencoded by PHP_QUERY_RFC3986 query string, like name1=value1&name2=value2 yii\httpclient\Client
FORMAT_URLENCODED 'urlencoded' Urlencoded by RFC1738 query string, like name1=value1&name2=value2 yii\httpclient\Client
FORMAT_XML 'xml' XML format yii\httpclient\Client

Property Details

$baseUrl public property

Base request URL.

public string $baseUrl null
$contentLoggingMaxSize public property

Maximum symbols count of the request content, which should be taken to compose a log and profile messages. Exceeding content will be truncated.

See also createRequestLogToken().

$formatters public property

The formatters for converting data into the content of the specified \yii\httpclient\format. The array keys are the format names, and the array values are the corresponding configurations for creating the formatter objects.

public array $formatters = []
$parsers public property

The parsers for converting content of the specified \yii\httpclient\format into the data. The array keys are the format names, and the array values are the corresponding configurations for creating the parser objects.

public array $parsers = []
$requestConfig public property

Request object configuration.

public array $requestConfig = []
$responseConfig public property

Response config configuration.

public array $responseConfig = []

Method Details

afterSend() public method (available since version 2.0.1)

This method is invoked right after request is sent.

The method will trigger the EVENT_AFTER_SEND event.

public void afterSend ( $request, $response )
$request yii\httpclient\Request

Request instance.

$response yii\httpclient\Response

Received response instance.

batchSend() public method

Performs multiple HTTP requests in parallel.

This method accepts an array of the yii\httpclient\Request objects and returns an array of the yii\httpclient\Response objects. Keys of the response array correspond the ones from request array.

$client = new Client();
$requests = [
    'news' => $client->get('http://domain.com/news'),
    'friends' => $client->get('http://domain.com/user/friends', ['userId' => 12]),
];
$responses = $client->batchSend($requests);
var_dump($responses['news']->isOk);
var_dump($responses['friends']->isOk);
public yii\httpclient\Response[] batchSend ( array $requests )
$requests yii\httpclient\Request[]

Requests to perform.

return yii\httpclient\Response[]

Responses list.

beforeSend() public method (available since version 2.0.1)

This method is invoked right before request is sent.

The method will trigger the EVENT_BEFORE_SEND event.

public void beforeSend ( $request )
$request yii\httpclient\Request

Request instance.

createRequest() public method

public yii\httpclient\Request createRequest ( )
return yii\httpclient\Request

Request instance.

createRequestLogToken() public method

Composes the log/profiling message token for the given HTTP request parameters.

This method should be used by transports during request sending logging.

public string createRequestLogToken ( $method, $url, $headers, $content )
$method string

Request method name.

$url string

Request URL.

$headers array

Request headers.

$content string

Request content.

return string

Log token.

createResponse() public method

Creates a response instance.

public yii\httpclient\Response createResponse ( $content null, array $headers = [] )
$content string

Raw content

$headers array

Headers list.

return yii\httpclient\Response

Request instance.

delete() public method

Creates 'DELETE' request.

public yii\httpclient\Request delete ( $url, $data null, $headers = [], $options = [] )
$url array|string

Target URL.

$data array|string

If array - request data, otherwise - request content.

$headers array

Request headers.

$options array

Request options.

return yii\httpclient\Request

Request instance.

get() public method

Creates 'GET' request.

public yii\httpclient\Request get ( $url, $data null, $headers = [], $options = [] )
$url array|string

Target URL.

$data array|string

If array - request data, otherwise - request content.

$headers array

Request headers.

$options array

Request options.

return yii\httpclient\Request

Request instance.

getFormatter() public method

Returns HTTP message formatter instance for the specified format.

public yii\httpclient\FormatterInterface getFormatter ( $format )
$format string

Format name.

return yii\httpclient\FormatterInterface

Formatter instance.

throws \yii\base\InvalidParamException

on invalid format name.

getParser() public method

Returns HTTP message parser instance for the specified format.

public yii\httpclient\ParserInterface getParser ( $format )
$format string

Format name

return yii\httpclient\ParserInterface

Parser instance.

throws \yii\base\InvalidParamException

on invalid format name.

getTransport() public method

public yii\httpclient\Transport getTransport ( )
return yii\httpclient\Transport

HTTP message transport instance.

head() public method

Creates 'HEAD' request.

public yii\httpclient\Request head ( $url, $headers = [], $options = [] )
$url array|string

Target URL.

$headers array

Request headers.

$options array

Request options.

return yii\httpclient\Request

Request instance.

options() public method

Creates 'OPTIONS' request.

public yii\httpclient\Request options ( $url, $options = [] )
$url array|string

Target URL.

$options array

Request options.

return yii\httpclient\Request

Request instance.

patch() public method

Creates 'PATCH' request.

public yii\httpclient\Request patch ( $url, $data null, $headers = [], $options = [] )
$url array|string

Target URL.

$data array|string

If array - request data, otherwise - request content.

$headers array

Request headers.

$options array

Request options.

return yii\httpclient\Request

Request instance.

post() public method

Creates 'POST' request.

public yii\httpclient\Request post ( $url, $data null, $headers = [], $options = [] )
$url array|string

Target URL.

$data array|string

If array - request data, otherwise - request content.

$headers array

Request headers.

$options array

Request options.

return yii\httpclient\Request

Request instance.

put() public method

Creates 'PUT' request.

public yii\httpclient\Request put ( $url, $data null, $headers = [], $options = [] )
$url array|string

Target URL.

$data array|string

If array - request data, otherwise - request content.

$headers array

Request headers.

$options array

Request options.

return yii\httpclient\Request

Request instance.

send() public method

Performs given request.

public yii\httpclient\Response send ( $request )
$request yii\httpclient\Request

Request to be sent.

return yii\httpclient\Response

Response instance.

throws yii\httpclient\Exception

on failure.

setTransport() public method

Sets the HTTP message transport. It can be specified in one of the following forms:

  • an instance of Transport: actual transport object to be used
  • a string: representing the class name of the object to be created
  • a configuration array: the array must contain a class element which is treated as the object class, and the rest of the name-value pairs will be used to initialize the corresponding object properties
  • a PHP callable: either an anonymous function or an array representing a class method ([$class or $object, $method]). The callable should return a new instance of the object being created.
public void setTransport ( $transport )
$transport yii\httpclient\Transport|array|string

HTTP message transport

Event Details

EVENT_AFTER_SEND event of type yii\httpclient\RequestEvent

An event raised right after request has been sent.

EVENT_BEFORE_SEND event of type yii\httpclient\RequestEvent

An event raised right before sending request.