folded / session
Session manipulation utlilities for your web app.
Requires
- php: >=7.4.0
- folded/exception: 0.4.*
Requires (Dev)
- friendsofphp/php-cs-fixer: 2.*
- pestphp/pest: 0.3.*
- phpunit/phpunit: 9.*
README
Session manipulation utilities for your web app.
Summary
About
I created this library to be able to manipulate a session, e.g. setting and getting data, checking if a data is present, ... In a standalone way.
Folded is a constellation of packages to help you setting up a web app easily, using ready to plug in packages.
- folded/action: A way to organize your controllers for your web app.
- folded/config: Configuration utilities for your PHP web app.
- folded/crypt: Encrypt and decrypt strings for your web app.
- folded/exception: Various kind of exception to throw for your web app.
- folded/history: Manipulate the browser history for your web app.
- folded/http: HTTP utilities for your web app.
- folded/orm: An ORM for you web app.
- folded/request: Request utilities, including a request validator, for your PHP web app.
- folded/routing: Routing functions for your PHP web app.
- folded/view: View utilities for your PHP web app.
Features
- Set and get value by keys
- Can flash value (which means they can be getted only once)
- Can remove values by key
- Can check if a value exist by its key
- Uses the plain
$_SESSION
superglobal
Requirements
- PHP version >= 7.4.0
- Composer installed
Installation
1. Install the package
In your root folder, run this command:
composer require folded/session
2. Add the setup code
In the script you want to use, call for the session start function:
if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); } // ...
Examples
- 1. Set a value
- 2. Get a value by key
- 3. Check if a value exist by key
- 4. Flash a value
- 5. Keep a value one more time after being flashed
- 6. Remove a value by key
1. Set a value
In this example, we will set the value in the session.
use function Folded\setSession; setSession("token", "12345");
2. Get a value by key
In this example, we will get the value of a session key.
use function Folded\setSession; use function Folded\getSession; setSession("token", "12345"); echo getSession("token"); // "12345"
3. Check if a value exist by key
In this example, we will check if a value exist by its key.
use function Folded\hasSession; if (hasSession("token")) { echo "has token in session"; } else { echo "has not token in session yet"; }
4. Flash a value
Flashing a value consist of telling the session to keep a value for a single usage. In this example, we will set a flash value, then get it once. Any attempt to get it a second time will fail.
use function Folded\flashSession; use function Folded\getSession; use function Folded\hasSession; flashSession("token", "12345"); echo getSession("token"); // "12345" var_dump(hasSession("token")); // bool(false)
5. Keep a value one more time after being flashed
In this example, we will use the second parameter of getSession()
to keep a flashed data one last time after being getted.
use function Folded\getSession; use function Folded\flashSession; use function Folded\hasSession; flashSession("token", "12345"); getSession("token", $keep = true); var_dump(hasSession("token")); // bool(true)
6. Remove a value by key
In this example, we will set a value, then remove it, and check if it exist.
use function Folded\hasSession; use function Folded\removeSession; use function Folded\setSession; setSession("token", "12345"); var_dump(hasSession("token")); // booll(true) removeSession("token"); var_dump(hasSession("token")); // bool(false)