Skip to content

codezero-be/session

Repository files navigation

Session

GitHub release License Build Status Scrutinizer Total Downloads

Manage session data.

This package includes an adapter for Laravel's Session Store, to enable the use of other implementations in non-Laravel projects.

Installation

Install this package through Composer:

composer require codezero/session

Vanilla PHP Implementation

Autoload the vendor classes:

require_once 'vendor/autoload.php'; // Path may vary

And then use the VanillaSession implementation:

$session = new \CodeZero\Session\VanillaSession();

Laravel 5 Implementation

Add a reference to LaravelSessionServiceProvider to the providers array in config/app.php:

'providers' => [
    'CodeZero\Session\LaravelSessionServiceProvider'
]

Then you can "make" (or inject) a Cookie instance anywhere in your app:

$session = \App::make('CodeZero\Session\Session');

TIP: Laravel's IoC container will automatically provide the Laravel specific Session implementation. This will use Laravel's Session goodness behind the scenes!

Usage

Store data in the session

$session->store('key', 'value');
$session->store('key', ['array' => 'value']);

Get session data

If a key doesn't exist, null will be returned.

$array = $session->get(); // An array of all data
$value = $session->get('key'); // Specific data

Delete session data

$session->flush(); // Clear all data
$session->delete('key'); // Clear specific data

Destroy the session

This will flush all data and regenerate the session ID.

$session->destroy();

Testing

$ vendor/bin/phpspec run

Security

If you discover any security related issues, please e-mail me instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.


Analytics