This class is a wrapper for the native PHP session functions. It provides several defaults for the most common session configuration via external handlers and helps with using session in CLI without any warnings.
Sessions can be created from the defaults using Session::create() or you can get an instance of a new session by just instantiating this class and passing the complete options you want to use.
When specific options are omitted, this class will take its defaults from the configuration values from the session.* directives in php.ini. This class will also alter such directives when configuration values are provided.
SessionHandlerInterfaceThe Session handler instance used as an engine for persisting the session data.
boolWhether this session is running under a CLI environment
intThe time in seconds the session will be valid for
boolIndicates whether the sessions has already started
Constructor.
Get one of the prebaked default session configurations.
Returns whether a session exists
Used to write new data to _SESSION, since PHP doesn't like us setting the _SESSION var itself.
Returns true if the session is no longer valid because the last time it was accessed was after the configured timeout.
Returns true if given variable name is set in session.
Clears the session.
Write data and close the session
Reads and deletes a variable from session.
Returns a new instance of a session after building a configuration bundle for it. This function allows an options array which will be used for configuring the session and the handler to be used. The most important key in the configuration array is defaults, which indicates the set of configurations to inherit from, the possible defaults are:
Removes a variable from session.
Helper method to destroy invalid sessions.
Sets the session handler instance to use for this session. If a string is passed for the first argument, it will be treated as the class name and the second argument will be passed as the first argument in the constructor.
Returns the session id. Calling this method will not auto start the session. You might have to manually assert a started session.
Calls ini_set for each of the keys in $options and set them to the respective value in the passed array.
Returns given session variable, or all of them, if no parameters given.
Returns given session variable, or throws Exception if not found.
Restarts this session.
Set the engine property and update the session handler in PHP.
Starts the Session.
Determine if Session has already been started.
Writes value to given session variable name.
__construct(array<string, mixed> $config = [])
Constructor.
session.cookie_path php.ini config. Defaults to base path of app.engine key. To be used as the session engine for persisting data. The rest of the keys in the array will be passed as the configuration array for the engine. You can set the engine key to an already instantiated session handler object.array<string, mixed> $config optional The Configuration to apply to this session object
_defaultConfig(string $name): array|false
Get one of the prebaked default session configurations.
string $name Config name.
array|false_hasSession(): bool
Returns whether a session exists
bool_overwrite(array $old, array $new): void
Used to write new data to _SESSION, since PHP doesn't like us setting the _SESSION var itself.
array $old Set of old variables => values
array $new New set of variable => value
void_timedOut(): bool
Returns true if the session is no longer valid because the last time it was accessed was after the configured timeout.
boolcheck(string|null $name = null): bool
Returns true if given variable name is set in session.
string|null $name optional Variable name to check for
boolclear(bool $renew = false): void
Clears the session.
Optionally it also clears the session id and renews the session.
bool $renew optional If session should be renewed, as well. Defaults to false.
voidclose(): true
Write data and close the session
trueconsume(string $name): mixed|null
Reads and deletes a variable from session.
string $name The key to read and remove (or a path as sent to Hash.extract).
mixed|nullcreate(array $sessionConfig = []): static
Returns a new instance of a session after building a configuration bundle for it. This function allows an options array which will be used for configuring the session and the handler to be used. The most important key in the configuration array is defaults, which indicates the set of configurations to inherit from, the possible defaults are:
config key with the name of an already configured Cache engine.sessions or a model key in the configuration to indicate which Table object to use.The full list of options follows:
array $sessionConfig optional Session config.
staticdelete(string $name): void
Removes a variable from session.
string $name Session variable to remove
voiddestroy(): void
Helper method to destroy invalid sessions.
voidengine(SessionHandlerInterface|string|null $class = null, array<string, mixed> $options = []): SessionHandlerInterface|null
Sets the session handler instance to use for this session. If a string is passed for the first argument, it will be treated as the class name and the second argument will be passed as the first argument in the constructor.
If an instance of a SessionHandlerInterface is provided as the first argument, the handler will be set to it.
If no arguments are passed it will return the currently configured handler instance or null if none exists.
SessionHandlerInterface|string|null $class optional The session handler to use
array<string, mixed> $options optional the options to pass to the SessionHandler constructor
SessionHandlerInterface|nullInvalidArgumentExceptionid(string|null $id = null): string
Returns the session id. Calling this method will not auto start the session. You might have to manually assert a started session.
Passing an id into it, you can also replace the session id if the session has not already been started. Note that depending on the session handler, not all characters are allowed within the session id. For example, the file session handler only allows characters in the range a-z A-Z 0-9 , (comma) and - (minus).
string|null $id optional Id to replace the current session id
stringoptions(array<string, mixed> $options): void
Calls ini_set for each of the keys in $options and set them to the respective value in the passed array.
$session->options(['session.use_cookies' => 1]);
array<string, mixed> $options Ini options to set.
voidRuntimeExceptionread(string|null $name = null, mixed $default = null): mixed|null
Returns given session variable, or all of them, if no parameters given.
string|null $name optional The name of the session variable (or a path as sent to Hash.extract)
mixed $default optional The return value when the path does not exist
mixed|nullreadOrFail(string $name): mixed|null
Returns given session variable, or throws Exception if not found.
string $name The name of the session variable (or a path as sent to Hash.extract)
mixed|nullRuntimeExceptionrenew(): void
Restarts this session.
voidsetEngine(SessionHandlerInterface $handler): SessionHandlerInterface
Set the engine property and update the session handler in PHP.
SessionHandlerInterface $handler The handler to set
SessionHandlerInterfacestart(): bool
Starts the Session.
boolRuntimeExceptionstarted(): bool
Determine if Session has already been started.
boolwrite(array|string $name, mixed $value = null): void
Writes value to given session variable name.
array|string $name Name of variable
mixed $value optional Value to write
voidThe Session handler instance used as an engine for persisting the session data.
SessionHandlerInterfaceWhether this session is running under a CLI environment
boolThe time in seconds the session will be valid for
intIndicates whether the sessions has already started
bool
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Http.Session.html