An open API service indexing awesome lists of open source software.

https://github.com/phpgt/session

Encapsulated user sessions.
https://github.com/phpgt/session

cookie phpgt session-cookie session-handler session-management sessionstorage

Last synced: 9 months ago
JSON representation

Encapsulated user sessions.

Awesome Lists containing this project

README

          

# Encapsulated user sessions.

This library is a simple object oriented alternative to the $_SESSION superglobal allowing application code to be passed encapsulated `SessionStore` objects, so areas of code can have access to their own Session area without having full read-write access to all session variables.

Sessions are addressed using dot notation, allowing for handling categories of session data. This is particularly useful when dealing with user authentication, for example.

***


Build status


Code quality


Code coverage


Current version


PHP.Gt/Session documentation

## Example usage: Welcome a user by their first name or log out the user

```php
if($session->contains("auth")) {
// Remove the *whole* auth section of the session on logout.
if($action === "logout") {
$session->delete("auth");
}
else {
// Output a variable within the auth namespace:
$message = "Welcome back, " . $session->getString("auth.user.name");
}
}
else {
// Pass the "auth" store to a class, so it
// can't read/write to other session variables:
AuthenticationSystem::beginLogin($session->getStore("auth"));
}
```