Spec-Zone.ru › CakePHP 4.3

Класс CookieCollection

Коллекция куки

Обеспечивает неизменяемую коллекцию объектов cookie. Добавление или удаление в коллекцию возвращает новую коллекцию, которую вы должны сохранить.

Пространство имён: Cake\Http\Cookie

Краткое описание свойств

  • $cookies protected
    arrayCake\Http\Cookie\CookieInterface>

    Объекты cookie

Краткое описание методов

  • __construct() public

    Конструктор

  • add() public

    Добавить куки и получить обновлённую коллекцию.

  • addFromResponse() public

    Создать новую коллекцию, включающую куки из ответа.

  • addToRequest() public

    Добавить куки, соответствующие пути/домену/сроку действия, в запрос.

  • checkCookies() protected

    Проверяет, что в массиве находятся только допустимые объекты куки.

  • count() public

    Получить количество куки в коллекции.

  • createFromHeader() public static

    Создать коллекцию куки из массива заголовков Set-Cookie.

  • createFromServerRequest() public static

    Создать новую коллекцию из куки в ServerRequest.

  • findMatchingCookies() protected

    Найти куки, соответствующие схеме, хосту и пути.

  • get() public

    Получить первый куки по имени.

  • getIterator() public

    Получить итератор.

  • has() public

    Проверить, существует ли куки с данным именем.

  • remove() public

    Создать новую коллекцию, удалив все куки, соответствующие $name.

  • removeExpiredCookies() protected

    Удалить просроченные куки из коллекции.

Подробное описание методов

__construct() public

__construct(arrayCake\Http\Cookie\CookieInterface> $cookies = [])

Конструктор

Параметры

arrayCake\Http\Cookie\CookieInterface> $cookies optional

Массив объектов куки

add() public

add(Cake\Http\Cookie\CookieInterface $cookie): static

Добавить куки и получить обновлённую коллекцию.

Куки хранятся по id. Это означает, что могут быть дублирующиеся куки, если коллекция куки используется для куки на нескольких доменах. Это может повлиять на поведение get(), has() и remove().

Параметры

Cake\Http\Cookie\CookieInterface $cookie

Экземпляр куки для добавления.

Возвращает

static

addFromResponse() public

addFromResponse(Psr\Http\Message\ResponseInterface $response, Psr\Http\Message\RequestInterface $request): static

Создать новую коллекцию, включающую куки из ответа.

Параметры

Psr\Http\Message\ResponseInterface $response

Ответ для извлечения куки.

Psr\Http\Message\RequestInterface $request

Запрос для получения контекста куки.

Возвращает

static

addToRequest() public

addToRequest(Psr\Http\Message\RequestInterface $request, array $extraCookies = []): Psr\Http\Message\RequestInterface

Добавить куки, соответствующие пути/домену/сроку действия, в запрос.

Это позволяет использовать CookieCollections как «банку куки» в ситуациях с HTTP-клиентом. Куки, соответствующие домену + пути запроса, которые не просрочены при вызове этого метода, будут применены к запросу.

Параметры

Psr\Http\Message\RequestInterface $request

Запрос для обновления.

array $extraCookies optional

Ассоциативный массив дополнительных куки для добавления в запрос. Это полезно, когда у вас есть данные куки извне коллекции, которые вы хотите отправить.

Возвращает

Psr\Http\Message\RequestInterface

checkCookies() protected

checkCookies(arrayCake\Http\Cookie\CookieInterface> $cookies): void

Проверяет, что в массиве находятся только допустимые объекты куки.

Параметры

arrayCake\Http\Cookie\CookieInterface> $cookies

Массив объектов куки

Возвращает

void

Вызывает исключение

InvalidArgumentException

count() public

count(): int

Получить количество куки в коллекции.

Возвращает

int

createFromHeader() public static

createFromHeader(array<string> $header, array<string, mixed> $defaults = []): static

Создать коллекцию куки из массива заголовков Set-Cookie.

Параметры

array<string> $header

Массив значений заголовков set-cookie.

array<string, mixed> $defaults optional

Атрибуты по умолчанию.

Возвращает

static

createFromServerRequest() public static

createFromServerRequest(Psr\Http\Message\ServerRequestInterface $request): static

Создать новую коллекцию из куки в ServerRequest.

Параметры

Psr\Http\Message\ServerRequestInterface $request

Запрос для извлечения данных куки

Возвращает

static

findMatchingCookies() protected

findMatchingCookies(string $scheme, string $host, string $path): array<string, mixed>

Найти куки, соответствующие схеме, хосту и пути.

Параметры

string $scheme

Схема http для сопоставления.

string $host

Хост для сопоставления.

string $path

Путь для сопоставления.

Возвращает

array<string, mixed>

get() public

get(string $name): Cake\Http\Cookie\CookieInterface

Получить первый куки по имени.

Параметры

string $name

Имя куки.

Возвращает

Cake\Http\Cookie\CookieInterface

Вызывает исключение

InvalidArgumentException
Если куки не найдено.

getIterator() public

getIterator(): Traversable<string,Cake\Http\Cookie\CookieInterface>

Получить итератор.

Возвращает

Traversable<string,Cake\Http\Cookie\CookieInterface>

has() public

has(string $name): bool

Проверить, существует ли куки с данным именем.

Параметры

string $name

Имя куки для проверки.

Возвращает

bool

remove() public

remove(string $name): static

Создать новую коллекцию, удалив все куки, соответствующие $name.

Если куки отсутствует в коллекции, этот метод ничего не сделает.

Параметры

string $name

Имя куки для удаления.

Возвращает

static

removeExpiredCookies() protected

removeExpiredCookies(string $host, string $path): void

Удалить просроченные куки из коллекции.

Параметры

string $host

Хост для проверки просроченных куки.

string $path

Путь для проверки просроченных куки.

Возвращает

void

Подробности свойства

$cookies защищенное

Объекты cookie

Тип

arrayCake\Http\Cookie\CookieInterface>

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/class-Cake.Http.Cookie.CookieCollection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API