What is an Event?
An Event is something that happens in your application.
- User Registered
- Order Placed
- Payment Successful
php artisan make:event UserRegisteredWhat is a Listener?
A Listener performs an action when an event occurs.
- Send Welcome Email
- Send SMS
- Save Log
php artisan make:listener SendWelcomeEmailBoth One Time
php artisan make:listener SendWelcomeEmail --event=UserRegisteredEvent is something that happens in the application. Listener listens to that event and performs an action.
Example:
Step -1: Create Event:
app/Events/UserRegistered.php
<?php
namespace App\Events;
class UserRegistered
{
public $user;
public function __construct($user)
{
$this->user = $user;
}
}Step 2: Create Listener:
app/Listeners/SendWelcomeEmail.php
<?php
namespace App\Listeners;
use App\Events\UserRegistered;
class SendWelcomeEmail
{
public function handle(UserRegistered $event)
{
echo "Welcome Email Sent to " . $event->user;
}
}Step 3: Register Event & Listener:
app/Providers/EventServiceProvider.php
protected $listen = [
UserRegistered::class => [
SendWelcomeEmail::class,
],
];Step 4: Fire the Event:
app/Http/Controllers/UserController.php
<?php
namespace App\Http\Controllers;
use App\Events\UserRegistered;
class UserController extends Controller
{
public function register()
{
$user = "John";
event(new UserRegistered($user));
return "User Registered";
}
}