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