Fr3nch13/CakePHP Utilities

CookieCollection
in package
implements IteratorAggregate, Countable

Cookie Collection

Provides an immutable collection of cookies objects. Adding or removing to a collection returns a new collection that you must retain.

Table of Contents

Interfaces

IteratorAggregate
Countable

Properties

$cookies  : array<string|int, CookieInterface>
Cookie objects

Methods

__construct()  : mixed
Constructor
add()  : static
Add a cookie and get an updated collection.
addFromResponse()  : static
Create a new collection that includes cookies from the response.
addToRequest()  : RequestInterface
Add cookies that match the path/domain/expiration to the request.
count()  : int
Get the number of cookies in the collection.
createFromHeader()  : static
Create a Cookie Collection from an array of Set-Cookie Headers
createFromServerRequest()  : static
Create a new collection from the cookies in a ServerRequest
get()  : CookieInterface
Get the first cookie by name.
getIterator()  : Traversable<string, CookieInterface>
Gets the iterator
has()  : bool
Check if a cookie with the given name exists
remove()  : static
Create a new collection with all cookies matching $name removed.
checkCookies()  : void
Checks if only valid cookie objects are in the array
findMatchingCookies()  : array<string, mixed>
Find cookies matching the scheme, host, and path
removeExpiredCookies()  : void
Remove expired cookies from the collection.

Properties

Methods

add()

Add a cookie and get an updated collection.

public add(CookieInterface $cookie) : static

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.

Parameters
$cookie : CookieInterface

Cookie instance to add.

Return values
static

addToRequest()

Add cookies that match the path/domain/expiration to the request.

public addToRequest(RequestInterface $request[, array<string|int, mixed> $extraCookies = [] ]) : RequestInterface

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.

Parameters
$request : RequestInterface

The request to update.

$extraCookies : array<string|int, mixed> = []

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.

Return values
RequestInterface —

An updated request.

count()

Get the number of cookies in the collection.

public count() : int
Return values
int

createFromHeader()

Create a Cookie Collection from an array of Set-Cookie Headers

public static createFromHeader(array<string|int, string> $header[, array<string, mixed> $defaults = [] ]) : static
Parameters
$header : array<string|int, string>

The array of set-cookie header values.

$defaults : array<string, mixed> = []

The defaults attributes.

Return values
static

has()

Check if a cookie with the given name exists

public has(string $name) : bool
Parameters
$name : string

The cookie name to check.

Return values
bool —

True if the cookie exists, otherwise false.

remove()

Create a new collection with all cookies matching $name removed.

public remove(string $name) : static

If the cookie is not in the collection, this method will do nothing.

Parameters
$name : string

The name of the cookie to remove.

Return values
static

checkCookies()

Checks if only valid cookie objects are in the array

protected checkCookies(array<string|int, CookieInterface> $cookies) : void
Parameters
$cookies : array<string|int, CookieInterface>

Array of cookie objects

Tags
throws
InvalidArgumentException

findMatchingCookies()

Find cookies matching the scheme, host, and path

protected findMatchingCookies(string $scheme, string $host, string $path) : array<string, mixed>
Parameters
$scheme : string

The http scheme to match

$host : string

The host to match.

$path : string

The path to match

Return values
array<string, mixed> —

An array of cookie name/value pairs

removeExpiredCookies()

Remove expired cookies from the collection.

protected removeExpiredCookies(string $host, string $path) : void
Parameters
$host : string

The host to check for expired cookies on.

$path : string

The path to check for expired cookies on.


        
On this page

Search results