1. Go to this page and download the library: Download icanboogie/session library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
icanboogie / session example snippets
use ICanBoogie\Session;
$session = new Session;
#
# The session is automatically started when reading or writing
#
if (!isset($session['bar']))
{
$session['bar'] = 'foo';
}
#
# Optionally, changes can be commited right away,
# also closing the session.
#
$session->commit();
#
# The session is automatically re-started on read or write
#
$session['baz'] = 'dib';
#
# Using isolated session segments
#
$segment = $session->segments['Vendor\NameSpace'];
$segment['bar'] = 123;
echo $session->segments['Vendor\NameSpace']['bar']; // 123
$session->segments['Vendor\NameSpace']['bar'] = 456;
echo $segment['bar']; // 456
#
# Using flash
#
$session->flash['info'] = "Well done!";
$session->segments['Vendor\NameSpace']->flash['bar'] = 123;
#
# The session token can be used to prevent CSRF. A new token is
# generated if none exists.
#
$token = $session->token; // 86eac2e0d91521df1efe7422e0d9ce48ef5ac75778ca36176bf4b84db9ff35858e491923e6f034ece8bcc4b38c3f7e99
$session->verify_token($token); // true
#
# Of course all of this is just mapping to the `$_SESSION` array
#
echo $_SESSION['bar']; // foo
echo $_SESSION['baz']; // dib
echo $_SESSION['Vendor\NameSpace']['bar']; // 456
use ICanBoogie\Session;
$session = new Session;
use ICanBoogie\Session;
use ICanBoogie\Session\CookieParams;
$session = new Session([
Session::OPTION_NAME => 'SID',
Session::OPTION_CACHE_LIMITER => 'public',
Session::OPTION_COOKIE_PARAMS => [
CookieParams::OPTION_DOMAIN => '.mydomain.tld',
CookieParams::OPTION_SECURE => true
]
]);
use ICanBoogie\SessionSegment;
class UserController
{
/**
* @var SessionSegment
*/
private $session;
public function __construct(SessionSegment $session)
{
$this->session = $session;
}
public function action_post_login()
{
// …
$this->session['user_id'] = $user->id;
}
}
// …
use ICanBoogie\Session;
$session = new Session;
$controller = new UserController($session->segments[UserControlller::class]);
use ICanBoogie\Session;
$session = new Session;
$session->flash['abc'] = 123;
$session->segments['segment-one']->flash['abc'] = 456;
/**
* @var \ICanBoogie\Session $session
*/
if (in_array($_SERVER['REQUEST_METHOD'], [ 'POST', 'PUT', 'DELETE' ]))
{
$token = isset($_POST['_session_token']) ? $_POST['_session_token'] : null;
if ($session->verify_token($token))
{
// Token is verified, we can proceed with the request.
}
else
{
// Token verification failed, we should throw an exception.
}
}