Класс Cookie
Объект Cookie для создания cookie и преобразования его в значение заголовка
HTTP cookie (также называемый веб-cookie, интернет-cookie, браузерный cookie или просто cookie) — небольшой фрагмент данных, отправляемый веб-сайтом и хранящийся на компьютере пользователя веб-браузером во время навигации.
Cookie были разработаны как надежный механизм для веб-сайтов, чтобы запоминать состояние (например, элементы, добавленные в корзину в интернет-магазине) или регистрировать активность пользователя (включая нажатия на определенные кнопки, вход в систему или запись посещенных страниц в прошлом). Они также могут использоваться для запоминания произвольной информации, ранее введенной пользователем в поля форм, такие как имена и предпочтения.
Объекты 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Получение атрибута пути.
- getStringValue() publicПолучение значения cookie в виде строки.
- getValue() publicПолучение значения cookie
- isExpanded() publicПроверка, было ли расширено значение cookie
- isExpired() publicПроверка истечения срока действия cookie по сравнению со временем $time
- 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
$string - Строка, содержащая данные в формате JSON или обычная строка.
Возвращает
string|arrayСловарь ключей и значений
_flatten()source protected
_flatten( array $array )
Метод сжатия для сохранения многомерных массивов ключей.
Параметры
- array
$array - Словарь ключей и значений
Возвращает
stringСтрока, закодированная в формате JSON.
_setValue()source protected
_setValue( mixed $value )
Установка значения атрибута.
Параметры
- mixed
$value - Значение для хранения.
check()source public
check( string $path )
Проверяет наличие значения в данных куки.
Этот метод будет расширять сериализованные сложные данные при первом использовании.
Параметры
- string
$path - Путь для проверки
Возвращает
booleangetDomain()source public
getDomain( )
Получение атрибута домена.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::getDomain() getExpiresTimestamp()source public
getExpiresTimestamp( )
Получение временной метки из времени истечения срока действия.
Возвращает
string|nullВремя истечения срока действия в виде временной метки.
Реализация
Cake\Http\Cookie\CookieInterface::getExpiresTimestamp() getExpiry()source public
getExpiry( )
Получение текущего времени истечения срока действия.
Возвращает
DateTime|DateTimeImmutable|nullВременная метка истечения срока действия или null
Реализация
Cake\Http\Cookie\CookieInterface::getExpiry() getFormattedExpires()source public
getFormattedExpires( )
Формирует значение атрибута истечения срока действия для строки заголовка.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::getFormattedExpires() getId()source public
getId( )
Получение идентификатора куки.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::getId() getName()source public
getName( )
Получение имени куки.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::getName() getPath()source public
getPath( )
Получение атрибута пути.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::getPath() getStringValue()source public
getStringValue( )
Получение значения куки в виде строки.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::getStringValue() getValue()source public
getValue( )
Получение значения куки.
Возвращает
string|arrayРеализация
Cake\Http\Cookie\CookieInterface::getValue() isExpanded()source public
isExpanded( )
Проверка, было ли расширено значение куки.
Возвращает
booleanisExpired()source public
isExpired( DateTime|DateTimeImmutable $time null )
Проверка истечения срока действия куки по сравнению со временем $time.
Параметры
- DateTime|DateTimeImmutable
$timeнеобязательно null - Время для сравнения. По умолчанию — текущее время в UTC.
Возвращает
booleanРеализация
Cake\Http\Cookie\CookieInterface::isExpired() isHttpOnly()source public
isHttpOnly( )
Проверка, является ли кука HTTP-только.
Возвращает
booleanРеализация
Cake\Http\Cookie\CookieInterface::isHttpOnly() isSecure()source public
isSecure( )
Проверка, является ли кука защищенной.
Возвращает
booleanРеализация
Cake\Http\Cookie\CookieInterface::isSecure() read()source public
read( string $path null )
Чтение данных из куки.
Этот метод расширит сериализованные сложные данные при первом использовании.
Параметры
- string
$pathнеобязательно null - Путь для чтения данных.
Возвращает
mixedtoHeaderValue()source public
toHeaderValue( )
Возвращает значение заголовка в виде строки.
Возвращает
stringРеализация
Cake\Http\Cookie\CookieInterface::toHeaderValue() validateBool()source protected
validateBool( boolean $value )
Проверка, является ли аргумент булевым значением.
Параметры
- boolean
$value - Значение для проверки.
Исключения
InvalidArgumentExceptionvalidateName()source protected
validateName( string $name )
Проверка имени куки.
Параметры
- string
$name - Имя куки.
Исключения
InvalidArgumentExceptionСсылка
Правила именования куки.validateString()source protected
validateString( string $value )
Проверка, является ли аргумент строкой.
Параметры
- string
$value - Значение для проверки.
Исключения
InvalidArgumentExceptionwithAddedValue()source public
withAddedValue( string $path , mixed $value )
Создание новой куки с обновленными данными.
Параметры
- string
$path - Путь для записи.
- mixed
$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
Параметры
- строка
$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–2018 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.5/class-Cake.Http.Cookie.Cookie.html