Spec-Zone.ru › CakePHP 4.2

Класс Cookie

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

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

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

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

$cookie = $cookie->withValue('0');
Namespace: Cake\Http\Cookie
See: \Cake\Http\Cookie\CookieCollection for working with collections of cookies.
See: \Cake\Http\Response::getCookieCollection() for working with response cookies.
Link: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03
Link: https://en.wikipedia.org/wiki/HTTP_cookie

Константы

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

    Формат атрибута Expires.

  • string
    SAMESITE_LAX
    'Lax'

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

  • string
    SAMESITE_NONE
    'None'

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

  • string
    SAMESITE_STRICT
    'Strict'

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

  • string[]
    SAMESITE_VALUES
    [self::SAMESITE_LAX, self::SAMESITE_STRICT, self::SAMESITE_NONE]

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

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

  • $defaults protected static
    array

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

  • $domain protected
    string

    Домен

  • $expiresAt protected
    DateTimeDateTimeImmutable|null

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

  • $httpOnly protected
    bool

    Только HTTP

  • $isExpanded protected
    bool

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

  • $name protected
    string

    Имя cookie

  • $path protected
    string

    Путь

  • $sameSite protected
    string|null

    SameSite

  • $secure protected
    bool

    Безопасный

  • $value protected
    string|array

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

END_OF_DOCUMENT_MARKER

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

  • __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

  • 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, string|array $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)

Конструктор

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

Параметры

string $name

Имя cookie

string|array $value optional

Значение cookie

DateTimeDateTimeImmutable|null $expiresAt optional

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

string|null $path optional

Путь

string|null $domain optional

Домен

bool|null $secure optional

Безопасный

bool|null $httpOnly optional

HTTP Only

string|null $sameSite optional

SameSite

Ссылки

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

_expand() protected

_expand(string $string): string|array

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

Параметры

string $string

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

Возвращаемое значение

string|array

_flatten() protected

_flatten(array $array): string

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

Параметры

array $array

Сопоставление ключей и значений

Возвращаемое значение

string

_setValue() protected

_setValue(string|array $value): void

Установщик для атрибута value.

Параметры

string|array $value

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

Возвращаемое значение

void

check() public

check(string $path): bool

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

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

Параметры

string $path

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

Возвращаемое значение

bool

create() public static

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

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

Параметры

string $name

Имя cookie

string|array $value

Значение cookie

array $options optional

Параметры cookie.

Возвращаемое значение

static

См. также

\Cake\Cookie\Cookie::setDefaults()

createFromHeaderString() public static

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

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

Параметры

string $cookie

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

array $defaults optional

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

Возвращаемое значение

static

См. также

\Cake\Cookie\Cookie::setDefaults()

dateTimeInstance() protected static

dateTimeInstance(mixed $expires): DateTimeDatetimeImmutable|null

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

Параметры

mixed $expires

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

Возвращаемое значение

DateTimeDatetimeImmutable|null

getDomain() public

getDomain(): string

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

Возвращаемое значение

string

getExpiresTimestamp() public

getExpiresTimestamp(): int|null

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

Возвращаемое значение

int|null

getExpiry() public

getExpiry(): DateTimeDateTimeImmutable|null

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

Возвращаемое значение

DateTimeDateTimeImmutable|null

getFormattedExpires() public

getFormattedExpires(): string

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

Возвращаемое значение

string

getId() public

getId(): string

Получить id для cookie

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

Возвращаемое значение

string

getName() public

getName(): string

Получает имя cookie

Возвращаемое значение

string

getOptions() public

getOptions(): array

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

Возвращаемое значение

array

getPath() public

getPath(): string

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

Возвращаемое значение

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(): string|array

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

Возвращаемое значение

string|array

isExpanded() public

isExpanded(): bool

Проверяет, было ли развернуто значение cookie

Возвращаемое значение

bool

isExpired() public

isExpired(DateTimeDateTimeImmutable $time = null): bool

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

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

Параметры

DateTimeDateTimeImmutable $time optional

Возвращаемое значение

bool

isHttpOnly() public

isHttpOnly(): bool

Проверить, является ли cookie cookie HTTP only

Возвращаемое значение

bool

isSecure() public

isSecure(): bool

Проверить, является ли cookie безопасным

Возвращаемое значение

bool

read() public

read(string $path = null): mixed

Считать данные из cookie

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

Параметры

string $path optional

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

Возвращаемое значение

mixed

setDefaults() public static

setDefaults(array $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 $options

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

Возвращает

void

toArray() public

toArray(): array

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

Возвращает

array

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(string|array $value): static

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

Параметры

string|array $value

Возвращает

static

withoutAddedValue() public

withoutAddedValue(string $path): static

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

Параметры

string $path

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

Возвращает

static

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

$defaults protected static

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

Тип

array

$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.

Тип

string|array

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

Spec-Zone.ru

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