Класс 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.8/class-Cake.Http.Cookie.CookieCollection.html