class Store implements Session

Traits

Constants

CONTEXT_KEY

The context key used to store the active session for the current request.

STARTED_CONTEXT_KEY_PREFIX

Context key for whether the session has been started.

ATTRIBUTES_CONTEXT_KEY_PREFIX

Context key for the session attributes.

ID_CONTEXT_KEY_PREFIX

Context key for the session ID.

protected SUPPORTED_SERIALIZATIONS

The supported session serialization strategies.

protected SESSION_ID_LENGTH

The length of session ID strings.

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected string $startedContextKey

The context key for whether this session has been started.

protected string $attributesContextKey

The context key for this session's attributes.

protected string $idContextKey

The context key for this session's ID.

Methods

static void
macro(string $name, callable|object $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Check if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

__construct(string $name, SessionHandlerInterface $handler, string|null $id = null, string $serialization = 'php')

Create a new session instance.

bool
start()

Start the session, reading the data from a handler.

array
getAttributes()

Get the session attributes.

void
setAttributes(array $attributes)

Set the session attributes.

void
replaceAttributes(array $attributes)

Replace the session attributes.

void
loadSession()

Load the session data from the handler.

array
readFromHandler()

Read the session data from the handler.

string
prepareForUnserialize(string $data)

Prepare the raw string data from the session for unserialization.

array
marshalErrorBagIn(array $attributes)

Marshal the ViewErrorBag in the given session attributes.

void
save()

Save the session data to storage.

array
prepareErrorBagForSerialization(array $attributes)

Prepare the ViewErrorBag in the given session attributes for JSON serialization.

string
prepareForStorage(string $data)

Prepare the serialized session data for storage.

void
ageFlashData()

Age the flash data for the session.

array
ageFlashDataIn(array $attributes)

Age the flash data in the given session attributes.

array
all()

Get all of the session data.

array
only(array $keys)

Get a subset of the session data.

array
except(array $keys)

Get all the session data except for a specified array of items.

bool
exists(array|UnitEnum|string $key)

Checks if a key exists.

bool
missing(array|UnitEnum|string $key)

Determine if the given key is missing from the session data.

bool
has(array|UnitEnum|string $key)

Determine if a key is present and not null.

bool
hasAny(array|UnitEnum|string $key)

Determine if any of the given keys are present and not null.

mixed
get(UnitEnum|string $key, mixed $default = null)

Get an item from the session.

mixed
pull(UnitEnum|string $key, mixed $default = null)

Get the value of a given key and then forget it.

bool
hasOldInput(UnitEnum|string|null $key = null)

Determine if the session contains old input.

mixed
getOldInput(UnitEnum|string|null $key = null, mixed $default = null)

Get the requested item from the flashed input array.

void
replace(array $attributes)

Replace the given session attributes entirely.

void
put(array|UnitEnum|string $key, mixed $value = null)

Put a key / value pair or array of key / value pairs in the session.

mixed
remember(UnitEnum|string $key, Closure $callback)

Get an item from the session, or store the default value.

void
push(UnitEnum|string $key, mixed $value)

Push a value onto a session array.

mixed
increment(UnitEnum|string $key, int $amount = 1)

Increment the value of an item in the session.

int
decrement(UnitEnum|string $key, int $amount = 1)

Decrement the value of an item in the session.

void
flash(UnitEnum|string $key, mixed $value = true)

Flash a key / value pair to the session.

void
now(UnitEnum|string $key, mixed $value)

Flash a key / value pair to the session for immediate use.

void
reflash()

Reflash all of the session flash data.

void
keep(mixed $keys = null)

Reflash a subset of the current flash data.

void
mergeNewFlashes(array $keys)

Merge new flash keys into the new flash array.

void
removeFromOldFlashData(array $keys)

Remove the given keys from the old flash data.

void
flashInput(array $value)

Flash an input array to the session.

cache()

Get the session cache instance.

mixed
remove(UnitEnum|string $key)

Remove an item from the session, returning its value.

void
forget(array|UnitEnum|string $keys)

Remove one or many items from the session.

void
flush()

Remove all of the items from the session.

bool
invalidate()

Flush the session data and regenerate the ID.

bool
regenerate(bool $destroy = false)

Generate a new session identifier.

bool
migrate(bool $destroy = false)

Generate a new session ID for the session.

bool
isStarted()

Determine if the session has been started.

string
getName()

Get the name of the session.

void
setName(string $name)

Set the name of the session.

string
id()

Get the current session ID.

string
getId()

Get the current session ID.

void
setId(string|null $id)

Set the session ID.

bool
isValidId(string|null $id)

Determine if this is a valid session ID.

string
generateSessionId()

Get a new, random session ID.

void
setExists(bool $value)

Set the existence of the session on the handler if applicable.

string|null
token()

Get the CSRF token value.

void
regenerateToken()

Regenerate the CSRF token value.

bool
hasPreviousUri()

Determine if the previous URI is available.

Uri
previousUri()

Get the previous URL from the session as a URI instance.

string|null
previousUrl()

Get the previous URL from the session.

void
setPreviousUrl(string $url)

Set the "previous" URL in the session.

string|null
previousRoute()

Get the previous route name from the session.

void
setPreviousRoute(string|null $route)

Set the "previous" route name in the session.

void
passwordConfirmed(string|null $guard = null)

Specify that the user has confirmed their password.

getHandler()

Get the underlying session handler implementation.

setHandler(SessionHandlerInterface $handler)

Set the underlying session handler implementation.

bool
handlerNeedsRequest()

Determine if the session handler needs a request.

void
setRequestOnHandler(Request $request)

Set the request on the handler instance.

static void
flushState()

Flush all static state.

Details

in Macroable at line 28
static void macro(string $name, callable|object $macro)

Register a custom macro.

Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 41
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 57
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 68
static void flushMacros()

Flush the existing macros.

Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 78
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line 103
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 87
__construct(string $name, SessionHandlerInterface $handler, string|null $id = null, string $serialization = 'php')

Create a new session instance.

Parameters

string $name

the session name

SessionHandlerInterface $handler

the session handler implementation

string|null $id
string $serialization

the session store's serialization strategy

at line 116
bool start()

Start the session, reading the data from a handler.

Return Value

bool

at line 130
protected array getAttributes()

Get the session attributes.

Return Value

array

at line 138
protected void setAttributes(array $attributes)

Set the session attributes.

Parameters

array $attributes

Return Value

void

at line 146
protected void replaceAttributes(array $attributes)

Replace the session attributes.

Parameters

array $attributes

Return Value

void

at line 157
protected void loadSession()

Load the session data from the handler.

Return Value

void

at line 167
protected array readFromHandler()

Read the session data from the handler.

Return Value

array

at line 187
protected string prepareForUnserialize(string $data)

Prepare the raw string data from the session for unserialization.

Parameters

string $data

Return Value

string

at line 195
protected array marshalErrorBagIn(array $attributes)

Marshal the ViewErrorBag in the given session attributes.

Parameters

array $attributes

Return Value

array

at line 217
void save()

Save the session data to storage.

Return Value

void

at line 244
protected array prepareErrorBagForSerialization(array $attributes)

Prepare the ViewErrorBag in the given session attributes for JSON serialization.

Parameters

array $attributes

Return Value

array

at line 267
protected string prepareForStorage(string $data)

Prepare the serialized session data for storage.

Parameters

string $data

Return Value

string

at line 275
void ageFlashData()

Age the flash data for the session.

Return Value

void

at line 283
protected array ageFlashDataIn(array $attributes)

Age the flash data in the given session attributes.

Parameters

array $attributes

Return Value

array

at line 295
array all()

Get all of the session data.

Return Value

array

at line 303
array only(array $keys)

Get a subset of the session data.

Parameters

array $keys

Return Value

array

at line 311
array except(array $keys)

Get all the session data except for a specified array of items.

Parameters

array $keys

Return Value

array

at line 319
bool exists(array|UnitEnum|string $key)

Checks if a key exists.

Parameters

array|UnitEnum|string $key

Return Value

bool

at line 331
bool missing(array|UnitEnum|string $key)

Determine if the given key is missing from the session data.

Parameters

array|UnitEnum|string $key

Return Value

bool

at line 339
bool has(array|UnitEnum|string $key)

Determine if a key is present and not null.

Parameters

array|UnitEnum|string $key

Return Value

bool

at line 349
bool hasAny(array|UnitEnum|string $key)

Determine if any of the given keys are present and not null.

Parameters

array|UnitEnum|string $key

Return Value

bool

at line 359
mixed get(UnitEnum|string $key, mixed $default = null)

Get an item from the session.

Parameters

UnitEnum|string $key
mixed $default

Return Value

mixed

at line 367
mixed pull(UnitEnum|string $key, mixed $default = null)

Get the value of a given key and then forget it.

Parameters

UnitEnum|string $key
mixed $default

Return Value

mixed

at line 380
bool hasOldInput(UnitEnum|string|null $key = null)

Determine if the session contains old input.

Parameters

UnitEnum|string|null $key

Return Value

bool

at line 390
mixed getOldInput(UnitEnum|string|null $key = null, mixed $default = null)

Get the requested item from the flashed input array.

Parameters

UnitEnum|string|null $key
mixed $default

Return Value

mixed

at line 398
void replace(array $attributes)

Replace the given session attributes entirely.

Parameters

array $attributes

Return Value

void

at line 406
void put(array|UnitEnum|string $key, mixed $value = null)

Put a key / value pair or array of key / value pairs in the session.

Parameters

array|UnitEnum|string $key
mixed $value

Return Value

void

at line 423
mixed remember(UnitEnum|string $key, Closure $callback)

Get an item from the session, or store the default value.

Parameters

UnitEnum|string $key
Closure $callback

Return Value

mixed

at line 437
void push(UnitEnum|string $key, mixed $value)

Push a value onto a session array.

Parameters

UnitEnum|string $key
mixed $value

Return Value

void

at line 449
mixed increment(UnitEnum|string $key, int $amount = 1)

Increment the value of an item in the session.

Parameters

UnitEnum|string $key
int $amount

Return Value

mixed

at line 459
int decrement(UnitEnum|string $key, int $amount = 1)

Decrement the value of an item in the session.

Parameters

UnitEnum|string $key
int $amount

Return Value

int

at line 467
void flash(UnitEnum|string $key, mixed $value = true)

Flash a key / value pair to the session.

Parameters

UnitEnum|string $key
mixed $value

Return Value

void

at line 481
void now(UnitEnum|string $key, mixed $value)

Flash a key / value pair to the session for immediate use.

Parameters

UnitEnum|string $key
mixed $value

Return Value

void

at line 493
void reflash()

Reflash all of the session flash data.

Return Value

void

at line 505
void keep(mixed $keys = null)

Reflash a subset of the current flash data.

Parameters

mixed $keys

Return Value

void

at line 515
protected void mergeNewFlashes(array $keys)

Merge new flash keys into the new flash array.

Parameters

array $keys

Return Value

void

at line 525
protected void removeFromOldFlashData(array $keys)

Remove the given keys from the old flash data.

Parameters

array $keys

Return Value

void

at line 533
void flashInput(array $value)

Flash an input array to the session.

Parameters

array $value

Return Value

void

at line 541
Repository cache()

Get the session cache instance.

Return Value

Repository

at line 549
mixed remove(UnitEnum|string $key)

Remove an item from the session, returning its value.

Parameters

UnitEnum|string $key

Return Value

mixed

at line 562
void forget(array|UnitEnum|string $keys)

Remove one or many items from the session.

Parameters

array|UnitEnum|string $keys

Return Value

void

at line 573
void flush()

Remove all of the items from the session.

Return Value

void

at line 581
bool invalidate()

Flush the session data and regenerate the ID.

Return Value

bool

at line 591
bool regenerate(bool $destroy = false)

Generate a new session identifier.

Parameters

bool $destroy

Return Value

bool

at line 601
bool migrate(bool $destroy = false)

Generate a new session ID for the session.

Parameters

bool $destroy

Return Value

bool

at line 617
bool isStarted()

Determine if the session has been started.

Return Value

bool

at line 625
string getName()

Get the name of the session.

Return Value

string

at line 636
void setName(string $name)

Set the name of the session.

Boot-only. Mutates the shared session store name; per-request use races across coroutines and changes the cookie name for concurrent requests.

Parameters

string $name

Return Value

void

at line 644
string id()

Get the current session ID.

Return Value

string

at line 652
string getId()

Get the current session ID.

Return Value

string

at line 668
void setId(string|null $id)

Set the session ID.

Parameters

string|null $id

Return Value

void

at line 679
bool isValidId(string|null $id)

Determine if this is a valid session ID.

Parameters

string|null $id

Return Value

bool

at line 687
protected string generateSessionId()

Get a new, random session ID.

Return Value

string

at line 695
void setExists(bool $value)

Set the existence of the session on the handler if applicable.

Parameters

bool $value

Return Value

void

at line 705
string|null token()

Get the CSRF token value.

Return Value

string|null

at line 713
void regenerateToken()

Regenerate the CSRF token value.

Return Value

void

at line 721
bool hasPreviousUri()

Determine if the previous URI is available.

Return Value

bool

at line 731
Uri previousUri()

Get the previous URL from the session as a URI instance.

Return Value

Uri

Exceptions

RuntimeException

at line 743
string|null previousUrl()

Get the previous URL from the session.

Return Value

string|null

at line 751
void setPreviousUrl(string $url)

Set the "previous" URL in the session.

Parameters

string $url

Return Value

void

at line 759
string|null previousRoute()

Get the previous route name from the session.

Return Value

string|null

at line 767
void setPreviousRoute(string|null $route)

Set the "previous" route name in the session.

Parameters

string|null $route

Return Value

void

at line 778
void passwordConfirmed(string|null $guard = null)

Specify that the user has confirmed their password.

The confirmation is scoped to the given guard, or to the current default guard when none is given.

Parameters

string|null $guard

Return Value

void

at line 788
SessionHandlerInterface getHandler()

Get the underlying session handler implementation.

at line 800
SessionHandlerInterface setHandler(SessionHandlerInterface $handler)

Set the underlying session handler implementation.

Boot-only. Replaces the handler on the shared session store; per-request use races across coroutines and can route session reads or writes through the wrong handler.

Parameters

SessionHandlerInterface $handler

Return Value

SessionHandlerInterface

at line 808
bool handlerNeedsRequest()

Determine if the session handler needs a request.

Return Value

bool

at line 816
void setRequestOnHandler(Request $request)

Set the request on the handler instance.

Parameters

Request $request

Return Value

void

at line 826
static void flushState()

Flush all static state.

Return Value

void