Класс Cookie
Объект Cookie для создания cookie и преобразования его в значение заголовка
HTTP-cookie (также называемый веб-cookie, интернет-cookie, браузерный cookie или просто cookie) — небольшой фрагмент данных, отправляемый веб-сайтом и хранящийся на компьютере пользователя веб-браузером во время просмотра.
Cookies были разработаны как надёжный механизм для веб-сайтов, чтобы запоминать состояние (например, добавленные в корзину товары в интернет-магазине) или записывать действия пользователя (включая нажатия на определённые кнопки, вход в систему или запись посещённых страниц в прошлом). Они также могут использоваться для запоминания произвольной информации, ранее введённой пользователем в поля форм, таких как имена и предпочтения.
Объекты Cookie неизменяемы, и вы должны повторно назначать переменные при модификации объектов cookie:
$cookie = $cookie->withValue('0'); - Cake\Http\Cookie\Cookie реализует Cake\Http\Cookie\CookieInterface
Ссылка: https://tools.ietf.org/html/rfc6265
Ссылка: https://en.wikipedia.org/wiki/HTTP_cookie
См.: Cake\Http\Cookie\CookieCollection для работы со списками cookie.
См.: Cake\Http\Response::getCookieCollection() для работы с cookie ответа.
Расположение: Http/Cookie/Cookie.php
Унаследованные константы
Резюме свойств
-
$domainprotectedДоменstring -
$expiresAtprotectedВремя истечения срока действияDateTime|DateTimeImmutable|null -
$httpOnlyprotectedТолько для HTTPboolean -
$isExpandedprotectedРасшифровано ли JSON-значение в массив.boolean -
$nameprotectedИмя Cookiestring -
$pathprotectedПутьstring -
$secureprotectedЗащищённыйboolean -
$valueprotectedНеобработанное значение Cookie.string|array
Резюме методов
- __construct() publicКонструктор
- _expand() protected
Метод расширения для возврата массива из строки, установленной в CookieComponent::_flatten() Сохраняет обратную совместимость с чтением в 1.x CookieComponent::_flatten().
- _flatten() protectedМетод конкатенации для сохранения ключей в многомерных массивах
- _setValue() protectedУстановщик для атрибута значения.
- check() publicПроверяет, существует ли значение в данных cookie.
- getDomain() publicПолучение атрибута домена.
- getExpiresTimestamp() publicПолучение метки времени из времени истечения срока действия
- getExpiry() publicПолучение текущего времени истечения срока действия
- getFormattedExpires() publicСтроит часть значения истечения срока действия в строке заголовка
- getId() publicПолучение идентификатора cookie
- getName() publicПолучение имени cookie
- getPath() publicПолучение атрибута пути.
- getValue() publicПолучение значения cookie
- isExpanded() publicПроверка, было ли расширено значение cookie
- isExpired() publicПроверка, истекло ли cookie по сравнению со временем
- isHttpOnly() publicПроверка, является ли cookie только для HTTP
- isSecure() publicПроверка, является ли cookie защищённым
- read() publicЧтение данных из cookie
- toHeaderValue() publicВозвращает значение заголовка в виде строки
- validateBool() protectedПроверка, является ли аргумент булевым значением
- validateName() protectedПроверка имени cookie
- validateString() protectedПроверка, является ли аргумент строкой
- 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 с обновлённым путём
- withSecure() publicСоздание cookie с обновлённым атрибутом Secure
- withValue() publicСоздание cookie с обновлённым значением.
- withoutAddedValue() publicСоздание нового cookie без указанного пути
Подробное описание метода
__construct()source public
__construct( string $name , string|array $value '' , DateTime|DateTimeImmutable|null $expiresAt null , string $path '' , string $domain '' , boolean $secure false , boolean $httpOnly false )
Конструктор
Аргументы конструктора аналогичны методу setcookie() в стандартном PHP. Единственное отличие заключается в третьем аргументе, который принимает null или объект DateTime или DateTimeImmutable вместо целого числа.
Параметры
- строка
$name - Имя Cookie
- строка|массив
$valueнеобязательно '' - Значение Cookie
- DateTime|DateTimeImmutable|null
$expiresAtнеобязательно null - Время и дата истечения срока действия
- строка
$pathнеобязательно '' - Путь
- строка
$domainнеобязательно '' - Домен
- логическое значение
$secureнеобязательно false - Защищён ли
- логическое значение
$httpOnlyнеобязательно false - Только для HTTP
Ссылка
http://php.net/manual/en/function.setcookie.php_expand()source protected
_expand( string $string )
Метод разбора для возврата массива из строки, заданной в CookieComponent::_flatten(). Сохраняет обратную совместимость с чтением CookieComponent::_flatten() версии 1.x.
Параметры
- строка
$string - Строка, содержащая данные в формате JSON или обычная строка.
Возвращает
строка|массивСловарь пар ключ-значение
_flatten()source protected
_flatten( array $array )
Метод объединения для сохранения многомерных массивов ключей.
Параметры
- массив
$array - Словарь пар ключ-значение.
Возвращает
строкаСтрока, закодированная в формате JSON.
_setValue()source protected
_setValue( mixed $value )
Установка значения атрибута.
Параметры
- смешанный
$value - Значение для сохранения.
check()source public
check( string $path )
Проверка существования значения в данных куки.
Этот метод расширит сериализованные сложные данные при первом использовании.
Параметры
- строка
$path - Путь для проверки.
Возвращает
логическое значениеgetDomain()source public
getDomain( )
Получение атрибута домена.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::getDomain() getExpiresTimestamp()source public
getExpiresTimestamp( )
Получение временной метки из времени истечения срока действия.
Временные метки представлены строками, так как большие временные метки могут привести к переполнению MAX_INT в 32-битных системах.
Возвращает
строка|nullВремя истечения срока действия в виде строковой временной метки.
Реализация
Cake\Http\Cookie\CookieInterface::getExpiresTimestamp() getExpiry()source public
getExpiry( )
Получение текущего времени истечения срока действия.
Возвращает
DateTime|DateTimeImmutable|nullВременная метка истечения срока действия или null
Реализация
Cake\Http\Cookie\CookieInterface::getExpiry() getFormattedExpires()source public
getFormattedExpires( )
Формирование части значения атрибута истечения срока действия в строке заголовка.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::getFormattedExpires() getId()source public
getId( )
Получение идентификатора куки.
Куки уникальны в пределах кортежа имя, домен, путь.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::getId() getName()source public
getName( )
Получение имени куки.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::getName() getPath()source public
getPath( )
Получение атрибута пути.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::getPath() getValue()source public
getValue( )
Получение значения куки.
Возвращает
строка|массивРеализация
Cake\Http\Cookie\CookieInterface::getValue() isExpanded()source public
isExpanded( )
Проверка расширения значения куки.
Возвращает
логическое значениеisExpired()source public
isExpired( DateTime|DateTimeImmutable $time null )
Проверка истечения срока действия куки по сравнению со временем $time.
Куки без даты истечения срока действия всегда возвращают false.
Параметры
- DateTime|DateTimeImmutable
$timeнеобязательно null - Время для сравнения. По умолчанию текущее время в UTC.
Возвращает
логическое значениеРеализация
Cake\Http\Cookie\CookieInterface::isExpired() isHttpOnly()source public
isHttpOnly( )
Проверка атрибута HTTP only для куки.
Возвращает
логическое значениеРеализация
Cake\Http\Cookie\CookieInterface::isHttpOnly() isSecure()source public
isSecure( )
Проверка атрибута secure для куки.
Возвращает
логическое значениеРеализация
Cake\Http\Cookie\CookieInterface::isSecure() read()source public
read( string $path null )
Чтение данных из куки.
Этот метод расширит сериализованные сложные данные при первом использовании.
Параметры
- строка
$pathнеобязательно null - Путь для чтения данных.
Возвращает
смешанныйtoHeaderValue()source public
toHeaderValue( )
Возвращает значение заголовка в виде строки.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::toHeaderValue() validateBool()source protected
validateBool( boolean $value )
Проверка, является ли аргумент логическим значением.
Параметры
- логическое значение
$value - Значение для проверки.
Исключения
InvalidArgumentExceptionvalidateName()source protected
validateName( string $name )
Проверка имени куки.
Параметры
- строка
$name - Имя куки.
Исключения
InvalidArgumentExceptionСсылка
Правила именования куки.validateString()source protected
validateString( string $value )
Проверка, является ли аргумент строкой.
Параметры
- строка
$value - Значение для проверки.
Исключения
InvalidArgumentExceptionwithAddedValue()source public
withAddedValue( string $path , mixed $value )
Создание новой куки с обновлёнными данными.
Параметры
- строка
$path - Путь для записи.
- смешанный
$value - Значение для записи.
Возвращает
Cake\Http\Cookie\CookiewithDomain()source public
withDomain( string $domain )
Создание куки с обновлённым доменом.
Параметры
- строка
$domain - Домен для установки.
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withDomain() withExpired()source public
withExpired( )
Создать новый куки, который истечёт/удалится из браузера.
Это делается путем установки времени истечения на 1 год назад
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withExpired() withExpiry()source public
withExpiry( DateTime|DateTimeImmutable $dateTime )
Создать куки с обновленной датой истечения
Параметры
- DateTime|DateTimeImmutable
$dateTime - Объект даты и времени
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withExpiry() withHttpOnly()source public
withHttpOnly( boolean $httpOnly )
Создать куки с обновленным HTTP Only
Параметры
- boolean
$httpOnly - HTTP Only
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withHttpOnly() withName()source public
withName( string $name )
Создать куки с обновленным именем
Параметры
- string
$name - Имя куки
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withName() withNeverExpire()source public
withNeverExpire( )
Создать новый куки, который практически никогда не истечёт.
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withNeverExpire() withPath()source public
withPath( string $path )
Создать новый куки с обновленным путём
Параметры
- string
$path - Устанавливает путь
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withPath() withSecure()source public
withSecure( boolean $secure )
Создать куки с обновленным Secure
Параметры
- boolean
$secure - Значение атрибута Secure
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withSecure() withValue()source public
withValue( string|array $value )
Создать куки с обновленным значением.
Параметры
- string|array
$value - Значение куки для установки
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withValue() withoutAddedValue()source public
withoutAddedValue( string $path )
Создать новый куки без указанного пути
Параметры
- string
$path - Путь для удаления
Возвращает
Cake\Http\Cookie\CookieПодробное описание свойств
© 2005–2017 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/3.4/class-Cake.Http.Cookie.Cookie.html