# Tracking App Events
# Using TrackableEvent
Your application events that implement TrackableEvent
will automatically be tracked.
namespace App\Events;
use MOIREI\EventTracking\Contracts\TrackableEvent;
class PasswordUpdated implements TrackableEvent
{
use Dispatchable;
use SerializesModels;
...
}
# Auto tracking external events
Events defined in vendor files can be included via configuration.
// connfig\event-tracking.php
...
'auto_tracking' => [
...
'listen' => [
\Illuminate\Auth\Events\Login::class,
\Illuminate\Auth\Events\Registered::class,
],
],
Registered events may be mapped with different names or properties
...
'auto_tracking' => [
...
'listen' => [
...
\Illuminate\Auth\Events\Login::class => 'Login',
\Illuminate\Auth\Events\Registered::class => [
'name' => 'User: Registered',
'properties' => 'toArray',
],
],
],
# Manually registering events
Events::listen(OrderPlaced::class);
Events::listen(OrderPlaced::class, ...);
Events::listen([
OrderPlaced::class,
...
]);
EventTracking::listen([
OrderPlaced::class => 'Order: Placed'
]);
EventTracking::listen([
OrderPlaced::class => [
'name' => 'Order: Placed',
'properties' => 'toArray',
]
]);