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 = array())

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, int $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 = array())

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, int $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

int $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

The cookie value or null if unset

array getAll(bool $includeUnsent = true)

Get all the cookies

Parameters

bool $includeUnsent

Include cookies we've yet to send

Return Value

array

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

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