Spec-Zone.ru › CakePHP 4.4

Класс Cookie

Объект Cookie для создания куки и преобразования его в значение заголовка

HTTP-куки (также называемые веб-куки, куки Интернета, куки браузера или просто куки) — это небольшой фрагмент данных, отправляемый веб-сайтом и хранящийся на компьютере пользователя веб-браузером пользователя во время его навигации по сайту.

Куки были разработаны в качестве надежного механизма для веб-сайтов для запоминания информационных состояний (например, товаров, добавленных в корзину интернет-магазина) или для записи активности пользователя в браузере (включая нажатие определенных кнопок, вход в систему или запись посещенных страниц в прошлом). Они также могут использоваться для запоминания произвольных данных, которые пользователь вводил ранее в поля форм, например, имена и настройки.

Объекты Cookie неизменяемы, и вы должны повторно присваивать переменные при изменении объектов cookie:

$cookie = $cookie->withValue('0');
Пространство имен: Cake\Http\Cookie
См.: \Cake\Http\Cookie\CookieCollection для работы со списками куки.
См.: \Cake\Http\Response::getCookieCollection() для работы с куки ответа.
Ссылка: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03
Ссылка: https://ru.wikipedia.org/wiki/HTTP-куки

Константы

  • string
    EXPIRES_FORMAT
    'D, d-M-Y H:i:s T'

    Формат атрибута истечения срока действия.

  • string
    SAMESITE_LAX
    'Lax'

    Значение атрибута SameSite: Lax

  • string
    SAMESITE_NONE
    'None'

    Значение атрибута SameSite: None

  • string
    SAMESITE_STRICT
    'Strict'

    Значение атрибута SameSite: Strict

  • array<string>
    SAMESITE_VALUES
    [self::SAMESITE_LAX, self::SAMESITE_STRICT, self::SAMESITE_NONE]

    Допустимые значения для атрибута "SameSite".

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

  • $defaults protected static
    array<string, mixed>

    Значения по умолчанию для куки.

  • $domain protected
    string

    Домен

  • $expiresAt protected
    DateTimeDateTimeImmutable|null

    Время истечения срока действия

  • $httpOnly protected
    bool

    Только HTTP

  • $isExpanded protected
    bool

    Расшифрован ли JSON-значение в массив.

  • $name protected
    string

    Имя куки

  • $path protected
    string

    Путь

  • $sameSite protected
    string|null

    SameSite

  • $secure protected
    bool

    Защищенный

  • $value protected
    array|string

    Необработанное значение куки.

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

  • __construct() public

    Конструктор

  • _expand() protected

    Метод разбора строки для возвращения массива, заданного в CookieComponent::_flatten(). Сохраняет обратную совместимость с CookieComponent::_flatten() версии 1.x.

  • _flatten() protected

    Метод склеивания для сохранения многомерных массивов в качестве ключей

  • _setValue() protected

    Установка значения атрибута.

  • check() public

    Проверка наличия значения в данных cookie.

  • create() public static

    Метод-фабрика для создания экземпляров Cookie.

  • createFromHeaderString() public static

    Создание экземпляра Cookie из строки заголовка "set-cookie".

  • dateTimeInstance() protected static

    Преобразование ненулевого значения срока действия в экземпляр DateTimeInterface.

  • getDomain() public

    Получить значение атрибута домена.

  • getExpiresTimestamp() public

    Получить отметку времени из времени окончания действия.

  • getExpiry() public

    Получить текущее время окончания действия.

  • getFormattedExpires() public

    Строит часть значения атрибута окончания действия, используемую в строке заголовка.

  • getId() public

    Получить идентификатор cookie.

  • getName() public

    Получить имя cookie.

  • getOptions() public

    Получить параметры cookie.

  • getPath() public

    Получить значение атрибута пути.

  • getSameSite() public

    Получить атрибут SameSite.

  • getScalarValue() public

    Получить значение cookie как скаляр.

  • getStringValue() public deprecated

    Получить значение cookie как строку.

  • getValue() public

    Получить значение cookie.

  • isExpanded() public

    Проверка, было ли значение cookie расширено.

  • isExpired() public

    Проверка, истекло ли время действия cookie по сравнению со временем $time.

  • isHttpOnly() public

    Проверка, является ли cookie HTTP-only.

  • isSecure() public

    Проверка, является ли cookie защищённым.

  • read() public

    Чтение данных из cookie.

  • setDefaults() public static

    Установить значения по умолчанию для cookie.

  • toArray() public

    Получить данные cookie как массив.

  • toHeaderValue() public

    Возвращает значение заголовка как строку.

  • validateName() protected

    Проверка имени cookie.

  • validateSameSiteValue() protected static

    Проверка, является ли значение SameSite допустимым.

  • withAddedValue() public

    Создать новый cookie с обновлёнными данными.

  • withDomain() public

    Создать cookie с обновлённым доменом.

  • withExpired() public

    Создать новый cookie, который истечёт/удалится из браузера.

  • withExpiry() public

    Создать cookie с обновлённой датой окончания действия.

  • withHttpOnly() public

    Создать cookie с обновлённым значением HTTP-only.

  • withName() public

    Установить имя cookie.

  • withNeverExpire() public

    Создать новый cookie, который фактически никогда не истечёт.

  • withPath() public

    Создать новый cookie с обновлённым путём.

  • withSameSite() public

    Создать cookie с обновлённым параметром SameSite.

  • withSecure() public

    Создать cookie с обновлённым значением Secure.

  • withValue() public

    Создать cookie с обновлённым значением.

  • withoutAddedValue() public

    Создать новый cookie без указанного пути.

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

__construct() public

__construct(string $name, array|string $value = '', DateTimeDateTimeImmutable|null $expiresAt = null, string|null $path = null, string|null $domain = null, bool|null $secure = null, bool|null $httpOnly = null, string|null $sameSite = null)

Конструктор

Аргументы конструктора аналогичны методу setcookie() в родном PHP. Единственное отличие — третий аргумент, который принимает значение null или объект DateTime или DateTimeImmutable вместо целого числа.

Параметры

string $name

Имя cookie

array|string $value необязательный

Значение cookie

DateTimeDateTimeImmutable|null $expiresAt необязательный

Время и дата истечения срока действия

string|null $path необязательный

Путь

string|null $domain необязательный

Домен

bool|null $secure необязательный

Защищенный

bool|null $httpOnly необязательный

HTTP только

string|null $sameSite необязательный

SameSite

Ссылки

https://php.net/manual/en/function.setcookie.php

_expand() protected

_expand(string $string): array|string

Метод explode для возврата массива из строки, установленной в CookieComponent::_flatten(). Сохраняет обратную совместимость при чтении со строкой из CookieComponent::_flatten() версии 1.x.

Параметры

string $string

Строка, содержащая данные в формате JSON, закодированные в строку, или просто строка.

Возвращает

array|string

_flatten() protected

_flatten(array $array): string

Метод implode для сохранения многомерных массивов в качестве ключей

Параметры

array $array

Карта ключей и значений

Возвращает

string

_setValue() protected

_setValue(array|string $value): void

Установка значения атрибута.

Параметры

array|string $value

Значение для сохранения.

Возвращает

void

check() public

check(string $path): bool

Проверяет, существует ли значение в данных cookie.

Этот метод расширит сериализованные сложные данные при первом использовании.

Параметры

string $path

Путь для проверки

Возвращает

bool

create() public static

create(string $name, array|string $value, array<string, mixed> $options = []): static

Метод-фабрика для создания экземпляров Cookie.

Параметры

string $name

Имя cookie

array|string $value

Значение cookie

array<string, mixed> $options необязательный

Параметры cookie.

Возвращает

static

См. также

\Cake\Cookie\Cookie::setDefaults()

createFromHeaderString() public static

createFromHeaderString(string $cookie, array<string, mixed> $defaults = []): static

Создание экземпляра Cookie из строки заголовка "set-cookie".

Параметры

string $cookie

Строка заголовка cookie.

array<string, mixed> $defaults необязательный

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

Возвращает

static

См. также

\Cake\Http\Cookie\Cookie::setDefaults()

dateTimeInstance() protected static

dateTimeInstance(mixed $expires): DateTimeDatetimeImmutable|null

Преобразование ненулевого значения истечения срока действия в экземпляр DateTimeInterface.

Параметры

mixed $expires

Значение истечения срока действия.

Возвращает

DateTimeDatetimeImmutable|null

getDomain() public

getDomain(): string

Получение атрибута домена.

Возвращает

string

getExpiresTimestamp() public

getExpiresTimestamp(): int|null

Получение метки времени из времени истечения срока действия

Возвращает

int|null

getExpiry() public

getExpiry(): DateTimeDateTimeImmutable|null

Получение текущего времени истечения срока действия

Возвращает

DateTimeDateTimeImmutable|null

getFormattedExpires() public

getFormattedExpires(): string

Создает часть значения истечения срока действия строки заголовка

Возвращает

string

getId() public

getId(): string

Получение идентификатора cookie

Cookies уникальны по тройке имя, домен, путь.

Возвращает

string

getName() public

getName(): string

Получение имени cookie

Возвращает

string

getOptions() public

getOptions(): array<string, mixed>

Получение параметров cookie

Возвращает

array<string, mixed>

getPath() public

getPath(): string

Получение атрибута пути.

Возвращает

string

getSameSite() public

getSameSite(): string|null

Получение атрибута SameSite.

Возвращает

string|null

getScalarValue() public

getScalarValue(): mixed

Получение значения cookie как скалярного значения.

Это сворачивает любые сложные данные в cookie с помощью json_encode()

Возвращает

mixed

getStringValue() public

getStringValue(): mixed

Получение значения cookie как строки.

Это сворачивает любые сложные данные в cookie с помощью json_encode()

Возвращает

mixed

getValue() public

getValue(): array|string

Получение значения cookie

Возвращает

array|string

isExpanded() public

isExpanded(): bool

Проверка, было ли расширено значение cookie

Возвращает

bool

isExpired() public

isExpired(DateTimeDateTimeImmutable $time = null): bool

Проверка, истек ли срок действия cookie по сравнению со значением $time

Cookie без даты истечения срока действия всегда возвращают false.

Параметры

DateTimeDateTimeImmutable $time необязательный

Возвращает

bool

isHttpOnly() public

isHttpOnly(): bool

Проверка, является ли cookie HTTP-только

Возвращает

bool

isSecure() public

isSecure(): bool

Проверка, является ли cookie защищенным

Возвращает

bool

read() public

read(string|null $path = null): mixed

Чтение данных из cookie

Этот метод расширит сериализованные сложные данные при первом использовании.

Параметры

string|null $path необязательный

Путь для чтения данных

Возвращает

mixed

setDefaults() public static

setDefaults(array<string, mixed> $options): void

Установка параметров по умолчанию для файлов cookie.

Допустимые ключи параметров:

  • expires: Может быть меткой времени UNIX или строкой, совместимой с strtotime(), или экземпляром DateTimeInterface или null.
  • path: Строка пути. По умолчанию '/'.
  • domain: Строка имени домена. По умолчанию ''.
  • httponly: Логическое значение. По умолчанию false.
  • secure: Логическое значение. По умолчанию false.
  • samesite: Может быть одним из CookieInterface::SAMESITE_LAX, CookieInterface::SAMESITE_STRICT, CookieInterface::SAMESITE_NONE или null. По умолчанию null.

Параметры

array<string, mixed> $options

Параметры по умолчанию.

Возвращает

void

toArray() public

toArray(): array<string, mixed>

Получение данных cookie в виде массива.

Возвращает

array<string, mixed>

toHeaderValue() public

toHeaderValue(): string

Возвращает значение заголовка в виде строки

Возвращает

string

validateName() protected

validateName(string $name): void

Проверка имени cookie

Параметры

string $name

Имя cookie

Возвращает

void

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

InvalidArgumentException

Ссылки

https://tools.ietf.org/html/rfc2616#section-2.2 Правила именования файлов cookie.

validateSameSiteValue() protected static

validateSameSiteValue(string $sameSite): void

Проверка допустимости переданного значения SameSite.

Параметры

string $sameSite

Значение SameSite

Возвращает

void

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

InvalidArgumentException

withAddedValue() public

withAddedValue(string $path, mixed $value): static

Создает новый файл cookie с обновленными данными.

Параметры

string $path

Путь для записи

mixed $value

Значение для записи

Возвращает

static

withDomain() public

withDomain(string $domain): static

Создает файл cookie с обновленным доменом

Параметры

string $domain

Возвращает

static

withExpired() public

withExpired(): static

Создает новый файл cookie, который истечет/удалится из браузера.

Это делается путем установки времени истечения на год назад

Возвращает

static

withExpiry() public

withExpiry(DateTimeDateTimeImmutable $dateTime): static

Создает файл cookie с обновленной датой истечения

Параметры

DateTimeDateTimeImmutable $dateTime

Возвращает

static

withHttpOnly() public

withHttpOnly(bool $httpOnly): static

Создает файл cookie с обновленным параметром HTTP Only

Параметры

bool $httpOnly

Возвращает

static

withName() public

withName(string $name): static

Устанавливает имя cookie

Параметры

string $name

Возвращает

static

withNeverExpire() public

withNeverExpire(): static

Создает новый файл cookie, который практически никогда не истечет.

Возвращает

static

withPath() public

withPath(string $path): static

Создает новый файл cookie с обновленным путем

Параметры

string $path

Возвращает

static

withSameSite() public

withSameSite(string|null $sameSite): static

Создает файл cookie с обновленным параметром SameSite.

Параметры

string|null $sameSite

Возвращает

static

withSecure() public

withSecure(bool $secure): static

Создает файл cookie с обновленным параметром Secure

Параметры

bool $secure

Возвращает

static

withValue() public

withValue(array|string $value): static

Создает файл cookie с обновленным значением.

Параметры

array|string $value

Возвращает

static

withoutAddedValue() public

withoutAddedValue(string $path): static

Создает новый файл cookie без указанного пути

Параметры

string $path

Путь для удаления

Возвращает

static

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

$defaults protected static

Атрибуты по умолчанию для файла cookie.

Тип

array<string, mixed>

$domain protected

Домен

Тип

string

$expiresAt protected

Время истечения

Тип

DateTimeDateTimeImmutable|null

$httpOnly protected

Только HTTP

Тип

bool

$isExpanded protected

Было ли значение JSON развернуто в массив.

Тип

bool

$name protected

Имя cookie

Тип

string

$path protected

Путь

Тип

string

$sameSite protected

SameSite

Тип

string|null

$secure protected

Безопасный

Тип

bool

$value protected

Необработанное значение cookie.

Тип

array|string

© 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.4/class-Cake.Http.Cookie.Cookie.html

Spec-Zone.ru

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