Package Data | |
---|---|
Maintainer Username: | ben.swinburne |
Maintainer Contact: | ben.swinburne@gmail.com (benswinburne) |
Package Create Date: | 2017-06-28 |
Package Last Update: | 2017-07-13 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2025-02-09 15:07:44 |
Package Statistics | |
---|---|
Total Downloads: | 9,340 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 2 |
Total Watchers: | 2 |
Total Forks: | 1 |
Total Open Issues: | 1 |
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.
Add the service provider to the providers
array in config/app.php
.
'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.
Replace
\Illuminate\Session\Middleware\StartSession::class
With
\Swinburne\LaravelSessionStarted\Http\Middleware\StartSession::class
For example
protected $middlewareGroups = [
'web' => [
...
\Swinburne\LaravelSessionStarted\Http\Middleware\StartSession::class,
...
]
...
Once installed you may listen for the following event which is fired upon session start.
\Swinburne\LaravelSessionStarted\Events\SessionStarted
For example, in the boot()
method of a service provider you may listen to the
event in the following way.
<?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";
});
}
}