Cookie Collection
Provides an immutable collection of cookies objects. Adding or removing to a collection returns a new collection that you must retain.
\Cake\Http\Cookie\CookieInterface[]
Cookie objects
__construct(array $cookies)
Constructor
\Cake\Http\Cookie\CookieInterface[]
$cookies optional Array of cookie objects
add(\Cake\Http\Cookie\CookieInterface $cookie)
Add a cookie and get an updated collection.
Cookies are stored by id. This means that there can be duplicate cookies if a cookie collection is used for cookies across multiple domains. This can impact how get(), has() and remove() behave.
\Cake\Http\Cookie\CookieInterface
$cookie Cookie instance to add.
static
addFromResponse(\Psr\Http\Message\ResponseInterface $response, \Psr\Http\Message\RequestInterface $request)
Create a new collection that includes cookies from the response.
\Psr\Http\Message\ResponseInterface
$response Response to extract cookies from.
\Psr\Http\Message\RequestInterface
$request Request to get cookie context from.
static
addToRequest(\Psr\Http\Message\RequestInterface $request, array $extraCookies)
Add cookies that match the path/domain/expiration to the request.
This allows CookieCollections to be used as a 'cookie jar' in an HTTP client situation. Cookies that match the request's domain + path that are not expired when this method is called will be applied to the request.
\Psr\Http\Message\RequestInterface
$request The request to update.
array
$extraCookies optional Associative array of additional cookies to add into the request. This is useful when you have cookie data from outside the collection you want to send.
\Psr\Http\Message\RequestInterface
An updated request.
checkCookies(array $cookies)
Checks if only valid cookie objects are in the array
\Cake\Http\Cookie\CookieInterface[]
$cookies Array of cookie objects
InvalidArgumentException
count()
Get the number of cookies in the collection.
int
createFromHeader(array $header, array $defaults)
Create a Cookie Collection from an array of Set-Cookie Headers
array
$header The array of set-cookie header values.
array
$defaults optional The defaults attributes.
static
createFromServerRequest(\Psr\Http\Message\ServerRequestInterface $request)
Create a new collection from the cookies in a ServerRequest
\Psr\Http\Message\ServerRequestInterface
$request The request to extract cookie data from
static
findMatchingCookies(string $scheme, string $host, string $path)
Find cookies matching the scheme, host, and path
string
$scheme The http scheme to match
string
$host The host to match.
string
$path The path to match
array
An array of cookie name/value pairs
get(string $name)
Get the first cookie by name.
string
$name The name of the cookie.
\Cake\Http\Cookie\CookieInterface
InvalidArgumentException
getIterator()
Gets the iterator
\Cake\Http\Cookie\CookieInterface[]
has(string $name)
Check if a cookie with the given name exists
string
$name The cookie name to check.
bool
True if the cookie exists, otherwise false.
remove(string $name)
Create a new collection with all cookies matching $name removed.
If the cookie is not in the collection, this method will do nothing.
string
$name The name of the cookie to remove.
static
removeExpiredCookies(string $host, string $path)
Remove expired cookies from the collection.
string
$host The host to check for expired cookies on.
string
$path The path to check for expired cookies on.
Cookie objects
\Cake\Http\Cookie\CookieInterface[]
© 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/4.1/class-Cake.Http.Cookie.CookieCollection.html