CloudCastle Curl

ShareHandle
in package

FinalYes

Обёртка над `curl_share` — общий пул данных для нескольких запросов.

Позволяет переиспользовать между отдельными обменами кэш DNS, TLS-сессии, cookie и (при поддержке сборкой cURL) пул соединений, экономя рукопожатия и разрешение имён. Дескриптор освобождается методом ShareHandle::close() или в деструкторе.

Функции curl_share_* вызываются без указания пространства имён — в тестах их можно подменить.

Table of Contents

Methods

__construct()  : mixed
close()  : void
Освободить дескриптор общего пула.
handle()  : CurlShareHandle
Дескриптор общего пула для передачи в `CURLOPT_SHARE`.
isClosed()  : bool
Закрыт ли дескриптор.

Methods

__construct()

public __construct([bool $shareDns = true ][, bool $shareSsl = true ][, bool $shareCookies = false ][, bool $shareConnections = false ]) : mixed
Parameters
$shareDns : bool = true

переиспользовать кэш DNS

$shareSsl : bool = true

переиспользовать TLS-сессии

$shareCookies : bool = false

переиспользовать cookie

$shareConnections : bool = false

переиспользовать пул соединений (если поддерживается)

close()

Освободить дескриптор общего пула.

public close() : void

curl_share_close() не вызывается: с PHP 8.0 функция ничего не делает, а с 8.5 объявлена устаревшей. Сброс ссылки на дескриптор освобождает ресурс штатным сборщиком мусора PHP.

handle()

Дескриптор общего пула для передачи в `CURLOPT_SHARE`.

public handle() : CurlShareHandle
Tags
throws
CurlException

если дескриптор уже закрыт

Return values
CurlShareHandle

дескриптор

isClosed()

Закрыт ли дескриптор.

public isClosed() : bool
Return values
bool

true, если пул закрыт

On this page

Search results