use Illuminate\Support\Facades\Event; Event::listen('user.activity', function($event, $data) { $log = [ 'event' => $event->getName(), 'timestamp' => $event->getTimeStamp(), 'user' => $data['user'], 'message' => $data['message'] ]; // log the event data to database or file \Log::info($log); });
use Symfony\Component\EventDispatcher\Event; class PurchaseCompleteEvent extends Event { protected $order; public function __construct($order) { $this->order = $order; } public function getOrder() { return $this->order; } } // event listener class PurchaseListener { public function onPurchaseComplete(PurchaseCompleteEvent $event) { $order = $event->getOrder(); // send email notification with order details Mail::to($order->email)->send(new PurchaseNotification($order)); } } // trigger event when purchase is complete $event = new PurchaseCompleteEvent($order); $dispatcher->dispatch('purchase.complete', $event);Package Library: Symfony EventDispatcher