Класс Cookie
Объект Cookie для создания куки и преобразования её в значение заголовка
HTTP-куки (также называемые веб-куки, интернет-куки, куки браузера или просто куки) — небольшой фрагмент данных, отправляемый веб-сайтом и хранящийся на компьютере пользователя веб-браузером во время просмотра сайта.
Куки были разработаны как надёжный механизм для веб-сайтов, чтобы запоминать состояние (например, добавленные в корзину товары в интернет-магазине) или регистрировать активность пользователя (включая нажатия на определённые кнопки, вход в систему или запись посещённых страниц в прошлом). Они также могут использоваться для запоминания произвольной информации, ранее введённой пользователем в поля форм, таких как имена и предпочтения.
Объекты 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 для работы со списками куки.
См.: 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Метод-сеттер для атрибута value.
- 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(). Сохраняет обратную совместимость со _flatten() CookieComponent 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( )
Получение метки времени из времени истечения.
Возвращает
строка|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() getStringValue()source public
getStringValue( )
Получение значения куки в виде строки.
Возвращает
строкаРеализация
Cake\Http\Cookie\CookieInterface::getStringValue() getValue()source public
getValue( )
Получение значения куки.
Возвращает
строка|массивРеализация
Cake\Http\Cookie\CookieInterface::getValue() isExpanded()source public
isExpanded( )
Проверка, было ли значение куки расширено.
Возвращает
логическоеisExpired()source public
isExpired( DateTime|DateTimeImmutable $time = null )
Проверка, истекло ли время действия куки по сравнению со временем $time.
Параметры
- DateTime|DateTimeImmutable
$timeнеобязательно null - Время для сравнения. По умолчанию - текущее время в UTC.
Возвращает
логическоеРеализация
Cake\Http\Cookie\CookieInterface::isExpired() isHttpOnly()source public
isHttpOnly( )
Проверка, является ли куки HTTP-только.
Возвращает
логическоеРеализация
Cake\Http\Cookie\CookieInterface::isHttpOnly() isSecure()source public
isSecure( )
Проверка, является ли куки защищенным.
Возвращает
логическоеРеализация
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 )
Создать cookie с обновлённым доменом
Параметры
- строка
$domain - Домен для установки
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withDomain() withExpired()source public
withExpired( )
Создать новый cookie, который истечёт/удалит 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
Параметры
- строка
$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 с обновлённым путём
Параметры
- строка
$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 с обновлённым значением.
Параметры
- строка|массив
$value - Значение cookie для установки
Возвращает
Cake\Http\Cookie\CookieРеализация
Cake\Http\Cookie\CookieInterface::withValue() withoutAddedValue()source public
withoutAddedValue( string $path )
Создать новый cookie без указанного пути
Параметры
- строка
$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.7/class-Cake.Http.Cookie.Cookie.html