13/07
2017
Fires an event when a session is started in Laravel for use in service providers
This package fires an event which can be used in service providers (or indeed anywhere an an application) to execute code when a session is started., (*1)
Add the service provider to the providers
array in config/app.php
., (*2)
'providers' => [ ... Swinburne\LaravelSessionStarted\SessionStartedServiceProvider::class, ... ],
Replace the existing Laravel StartSession middleware with that from this
package in app/Http/Kernel.php
. It's in the web
group by default., (*3)
Replace, (*4)
\Illuminate\Session\Middleware\StartSession::class
With, (*5)
\Swinburne\LaravelSessionStarted\Http\Middleware\StartSession::class
For example, (*6)
protected $middlewareGroups = [ 'web' => [ ... \Swinburne\LaravelSessionStarted\Http\Middleware\StartSession::class, ... ] ...
Once installed you may listen for the following event which is fired upon session start., (*7)
\Swinburne\LaravelSessionStarted\Events\SessionStarted
For example, in the boot()
method of a service provider you may listen to the
event in the following way., (*8)
<?php namespace App\Providers; use Illuminate\Support\Facades\Event; use Illuminate\Support\ServiceProvider; use Swinburne\LaravelSessionStarted\Events\SessionStarted; class AppServiceProvider extends ServiceProvider { /** * Boot the application services. * * @return void */ public function boot() { Event::listen(SessionStarted::class, function ($event) { echo "My session was started"; }); } }