Documentation

SessionModel
in package
implements SessionModelInterface

AbstractYes

Abstract session management model.

Provides a standardized interface for storing and retrieving user session data. Extend this class and implement getUser() to define custom user data retrieval.

Usage:

class UserSession extends \X\Model\SessionModel {
  protected static function getUser(string $id): array {
    return (new UserModel())->get_by_id((int)$id);
  }
}

// Set user session
UserSession::set($userId);

// Get session data
$user = UserSession::get();

Table of Contents

Interfaces

SessionModelInterface
Interface for session management models.

Constants

SESSION_NAME  = 'user'
Key name of the session to store user information.

Methods

get()  : stdClass|mixed|null
Get session data.
isset()  : bool
Check if a user session exists.
set()  : string
Set session data.
unset()  : string
Destroy the current user session.
getUser()  : array<string|int, mixed>
Retrieve user data by ID for session storage.

Constants

SESSION_NAME

Key name of the session to store user information.

public string SESSION_NAME = 'user'

Methods

get()

Get session data.

public final static get([string|null $field = null ]) : stdClass|mixed|null

Returns all session data as an object, or a single field value if a field name is specified.

Parameters
$field : string|null = null

Field name to retrieve. Null returns all data.

Return values
stdClass|mixed|null

All session data, a single field value, or null if no session.

isset()

Check if a user session exists.

public final static isset() : bool
Return values
bool

True if session data is set.

set()

Set session data.

public final static set(string $id[, mixed $value = null ]) : string

With one argument, loads full user data into session via getUser(). With two arguments, updates a single session field.

Parameters
$id : string

User ID (1 arg) or field name (2 args).

$value : mixed = null

Field value when updating a single field.

Tags
throws
RuntimeException

If the specified field does not exist in session data.

Return values
string

Called class name for method chaining.

unset()

Destroy the current user session.

public final static unset() : string
Return values
string

Called class name for method chaining.

getUser()

Retrieve user data by ID for session storage.

protected abstract static getUser(string $id) : array<string|int, mixed>

Subclasses must implement this to define how user data is fetched (e.g., from a database model).

Parameters
$id : string

User ID.

Return values
array<string|int, mixed>

User data to store in session.


        
On this page

Search results