class DatabaseSessionHandler implements ExistenceAwareInterface, SessionHandlerInterface (View source)

Traits

Properties

protected ConnectionInterface $connection

The database connection instance.

protected string $table

The name of the session table.

protected int $minutes

The number of minutes the session should be valid.

protected Container $container

The container instance.

protected bool $exists

The existence state of the session.

Methods

int
secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

int
currentTime()

Get the current system time as a UNIX timestamp.

void
__construct(ConnectionInterface $connection, string $table, int $minutes, Container $container = null)

Create a new database session handler instance.

open($savePath, $sessionName)

{@inheritdoc}

close()

{@inheritdoc}

read($sessionId)

{@inheritdoc}

bool
expired(stdClass $session)

Determine if the session is expired.

write($sessionId, $data)

{@inheritdoc}

bool|null
performInsert(string $sessionId, string $payload)

Perform an insert operation on the session ID.

int
performUpdate(string $sessionId, string $payload)

Perform an update operation on the session ID.

array
getDefaultPayload(string $data)

Get the default payload for the session.

$this
addUserInformation(array $payload)

Add the user information to the session payload.

mixed
userId()

Get the currently authenticated user's ID.

$this
addRequestInformation(array $payload)

Add the request information to the session payload.

string
ipAddress()

Get the IP address for the current request.

string
userAgent()

Get the user agent for the current request.

destroy($sessionId)

{@inheritdoc}

gc($lifetime)

{@inheritdoc}

getQuery()

Get a fresh query builder instance for the table.

setExists(bool $value)

Set the existence state for the session.

Details

protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

DateTimeInterface|int

protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

void __construct(ConnectionInterface $connection, string $table, int $minutes, Container $container = null)

Create a new database session handler instance.

Parameters

ConnectionInterface $connection
string $table
int $minutes
Container $container

Return Value

void

open($savePath, $sessionName)

{@inheritdoc}

Parameters

$savePath
$sessionName

close()

{@inheritdoc}

read($sessionId)

{@inheritdoc}

Parameters

$sessionId

protected bool expired(stdClass $session)

Determine if the session is expired.

Parameters

stdClass $session

Return Value

bool

write($sessionId, $data)

{@inheritdoc}

Parameters

$sessionId
$data

protected bool|null performInsert(string $sessionId, string $payload)

Perform an insert operation on the session ID.

Parameters

string $sessionId
string $payload

Return Value

bool|null

protected int performUpdate(string $sessionId, string $payload)

Perform an update operation on the session ID.

Parameters

string $sessionId
string $payload

Return Value

int

protected array getDefaultPayload(string $data)

Get the default payload for the session.

Parameters

string $data

Return Value

array

protected $this addUserInformation(array $payload)

Add the user information to the session payload.

Parameters

array $payload

Return Value

$this

protected mixed userId()

Get the currently authenticated user's ID.

Return Value

mixed

protected $this addRequestInformation(array $payload)

Add the request information to the session payload.

Parameters

array $payload

Return Value

$this

protected string ipAddress()

Get the IP address for the current request.

Return Value

string

protected string userAgent()

Get the user agent for the current request.

Return Value

string

destroy($sessionId)

{@inheritdoc}

Parameters

$sessionId

gc($lifetime)

{@inheritdoc}

Parameters

$lifetime

protected Builder getQuery()

Get a fresh query builder instance for the table.

Return Value

Builder

SessionHandlerInterface setExists(bool $value)

Set the existence state for the session.

Parameters

bool $value

Return Value

SessionHandlerInterface