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