Класс CookieCollection
Коллекция куки
Обеспечивает неизменяемую коллекцию объектов куки. Добавление или удаление из коллекции возвращает новую коллекцию, которую необходимо сохранить.
- Cake\Http\Cookie\CookieCollection реализует IteratorAggregate, Countable
Прямые подклассы
Краткое описание свойств
- Объекты куки
$cookiesprotected
Краткое описание методов
- __construct() publicКонструктор
- add() publicДобавить куки и получить обновлённую коллекцию.
- addFromResponse() publicСоздать новую коллекцию, включающую куки из ответа.
- addToRequest() publicДобавить куки, соответствующие пути/домену/сроку действия в запрос.
- checkCookies() protectedПроверяет, что в массиве находятся только валидные объекты куки
- count() publicПолучить количество куки в коллекции.
- Создать коллекцию куки из массива заголовков Set-Cookie
- Создать новую коллекцию из куки в ServerRequest
- findMatchingCookies() protectedНайти куки, соответствующие схеме, хосту и пути
- get() publicПолучить первую куки по имени.
- getIterator() publicПолучить итератор
- has() publicПроверить, существует ли куки с заданным именем
- Распарсить заголовки Set-Cookie в массив
- remove() publicСоздать новую коллекцию с удалёнными всеми куки, соответствующими $name.
- removeExpiredCookies() protectedУдалить истекшие куки из коллекции.
- setRequestDefaults() protectedПрименить путь и хост к набору куки, если они не заданы.
Подробное описание методов
__construct()source public
__construct( array $cookies = [] )
Конструктор
Параметры
- массив
$cookiesнеобязательно [] - Массив объектов куки
add()source public
add( Cake\Http\Cookie\CookieInterface $cookie )
Добавить куки и получить обновлённую коллекцию.
Куки хранятся по идентификатору. Это означает, что могут быть дублирующиеся куки, если коллекция куки используется для куки на нескольких доменах. Это может повлиять на поведение get(), has() и remove().
Параметры
-
Cake\Http\Cookie\CookieInterface$cookie - Экземпляр куки для добавления.
Возвращает
Cake\Http\Cookie\CookieCollectionaddFromResponse()source public
addFromResponse( Psr\Http\Message\ResponseInterface $response , Psr\Http\Message\RequestInterface $request )
Создать новую коллекцию, включающую куки из ответа.
Параметры
- Psr\Http\Message\ResponseInterface
$response - Ответ для извлечения куки.
- Psr\Http\Message\RequestInterface
$request - Запрос для получения контекста куки.
Возвращает
Cake\Http\Cookie\CookieCollectionaddToRequest()source public
addToRequest( Psr\Http\Message\RequestInterface $request , array $extraCookies = [] )
Добавить куки, соответствующие пути/домену/сроку действия в запрос.
Это позволяет использовать CookieCollections как «хранилище куки» в ситуациях с HTTP-клиентом. Куки, соответствующие домену + пути запроса, которые не истекли на момент вызова этого метода, будут применены к запросу.
Параметры
- Psr\Http\Message\RequestInterface
$request - Запрос для обновления.
- массив
$extraCookiesнеобязательно [] Ассоциативный массив дополнительных куки для добавления в запрос. Это полезно, когда у вас есть данные куки извне коллекции, которые вы хотите отправить.
Возвращает
Psr\Http\Message\RequestInterfaceОбновлённый запрос.
checkCookies()source protected
checkCookies( array $cookies )
Проверяет, что в массиве находятся только валидные объекты куки
Параметры
- массив
$cookies - Массив объектов куки
Исключения
InvalidArgumentExceptioncount()source public
count( )
Получить количество куки в коллекции.
Возвращает
целое числоРеализация
Countable::count() createFromHeader()source public static
createFromHeader( array $header )
Создать коллекцию куки из массива заголовков Set-Cookie
Параметры
- массив
$header - Массив значений заголовков set-cookie.
Возвращает
Cake\Http\Cookie\CookieCollectioncreateFromServerRequest()source public static
createFromServerRequest( Psr\Http\Message\ServerRequestInterface $request )
Создать новую коллекцию из куки в ServerRequest
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Запрос для извлечения данных куки
Возвращает
Cake\Http\Cookie\CookieCollectionfindMatchingCookies()source protected
findMatchingCookies( string $scheme , string $host , string $path )
Найти куки, соответствующие схеме, хосту и пути
Параметры
- строка
$scheme - Схема http для соответствия
- строка
$host - Хост для соответствия.
- строка
$path - Путь для соответствия
Возвращает
массивМассив пар имя/значение куки
get()source public
get( string $name )
Получить первую куки по имени.
Параметры
- строка
$name - Имя куки.
Возвращает
Cake\Http\Cookie\CookieInterface|nullgetIterator()source public
getIterator( )
Получить итератор
Возвращает
ArrayIteratorРеализация
IteratorAggregate::getIterator() has()source public
has( string $name )
Проверка наличия cookie с заданным именем
Параметры
- строка
$name - Имя cookie для проверки.
Возвращаемое значение
booleanTrue, если cookie существует, иначе false.
parseSetCookieHeader()source protected static
parseSetCookieHeader( array $values )
Разбор заголовков Set-Cookie в массив
Параметры
- массив
$values - Список значений заголовков Set-Cookie.
Возвращаемое значение
Cake\Http\Cookie\Cookie[]Массив объектов cookie
remove()source public
remove( string $name )
Создать новую коллекцию со всеми cookie, соответствующими $name, удалёнными.
Если cookie отсутствует в коллекции, этот метод ничего не сделает.
Параметры
- строка
$name - Имя cookie для удаления.
Возвращаемое значение
Cake\Http\Cookie\CookieCollectionremoveExpiredCookies()source protected
removeExpiredCookies( string $host , string $path )
Удаление просроченных cookie из коллекции.
Параметры
- строка
$host - Хост для проверки просроченных cookie.
- строка
$path - Путь для проверки просроченных cookie.
setRequestDefaults()source protected
setRequestDefaults( array $cookies , string $host , string $path )
Применение пути и хоста к набору cookie, если они не установлены.
Параметры
- массив
$cookies - Массив cookie для обновления.
- строка
$host - Хост для установки.
- строка
$path - Путь для установки.
Возвращаемое значение
массивМассив обновлённых 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.6/class-Cake.Http.Cookie.CookieCollection.html