class CookieStore extends BaseStore (View source)

A session store which stores the session data in an encrypted & signed cookie.

This way the server doesn't need to open a database connection or have a shared filesystem for reading the session from - the client passes through the session with every request.

This approach does have some limitations - cookies can only be quite small (4K total, but we limit to 1K) and can only be set before the server starts sending a response.

So we clear the cookie on Session startup (which should always be before the headers get sent), but just fail on Session write if we can't use cookies, assuming there's something watching for that & providing a fallback

Traits

Provides extensions to this object to integrate it with standard config API methods.

Properties

static private $max_length

Maximum length of a cookie value in characters

Methods

static Config_ForClass
config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

mixed
uninherited(string $name)

Gets the uninherited value for the given config option

void
setKey(string|null $key)

Assign a new session secret key

bool
open(string $save_path, string $name)

No description

bool
close()

No description

string|false
read(string $session_id)

No description

bool
write(string $session_id, string $session_data)

No description

bool
destroy(string $session_id)

No description

int|false
gc(int $maxlifetime)

No description

Details

static Config_ForClass config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

Return Value

Config_ForClass

mixed uninherited(string $name)

Gets the uninherited value for the given config option

Parameters

string $name

Return Value

mixed

void setKey(string|null $key)

Assign a new session secret key

Parameters

string|null $key

Return Value

void

bool open(string $save_path, string $name)

Parameters

string $save_path
string $name

Return Value

bool

bool close()

Return Value

bool

string|false read(string $session_id)

Parameters

string $session_id

Return Value

string|false

bool write(string $session_id, string $session_data)

Parameters

string $session_id
string $session_data

Return Value

bool

bool destroy(string $session_id)

Parameters

string $session_id

Return Value

bool

int|false gc(int $maxlifetime)

Parameters

int $maxlifetime

Return Value

int|false