class CookieJar implements Cookie_Backend (View source)

A default backend for the setting and getting of cookies

This backend allows one to better test Cookie setting and separate cookie handling from the core

Methods

__construct(array $cookies = [])

When creating the backend we want to store the existing cookies in our "existing" array. This allows us to distinguish between cookies we received or we set ourselves (and didn't get from the browser)

set(string $name, string $value, float $expiry = 90, string $path = null, string $domain = null, bool $secure = false, bool $httpOnly = true)

Set a cookie

string|null
get(string $name, bool $includeUnsent = true)

Get the cookie value by name

array
getAll(bool $includeUnsent = true)

Get all the cookies

forceExpiry(string $name, string $path = null, string $domain = null, bool $secure = false, bool $httpOnly = true)

Force the expiry of a cookie by name

Details

__construct(array $cookies = [])

When creating the backend we want to store the existing cookies in our "existing" array. This allows us to distinguish between cookies we received or we set ourselves (and didn't get from the browser)

Parameters

array $cookies The existing cookies to load into the cookie jar

set(string $name, string $value, float $expiry = 90, string $path = null, string $domain = null, bool $secure = false, bool $httpOnly = true)

Set a cookie

Parameters

string $name The name of the cookie
string $value The value for the cookie to hold
float $expiry The number of days until expiry
string $path The path to save the cookie on (falls back to site base)
string $domain The domain to make the cookie available on
bool $secure Can the cookie only be sent over SSL?
bool $httpOnly Prevent the cookie being accessible by JS

string|null get(string $name, bool $includeUnsent = true)

Get the cookie value by name

Cookie names are normalised to work around PHP's behaviour of replacing incoming variable name . with _

Parameters

string $name The name of the cookie to get
bool $includeUnsent Include cookies we've yet to send when fetching values

Return Value

string|null

array getAll(bool $includeUnsent = true)

Get all the cookies

Parameters

bool $includeUnsent Include cookies we've yet to send

Return Value

array

forceExpiry(string $name, string $path = null, string $domain = null, bool $secure = false, bool $httpOnly = true)

Force the expiry of a cookie by name

Parameters

string $name The name of the cookie to expire
string $path The path to save the cookie on (falls back to site base)
string $domain The domain to make the cookie available on
bool $secure Can the cookie only be sent over SSL?
bool $httpOnly Prevent the cookie being accessible by JS