Install the package via Composer:
composer require vendor/package-name
Publish the package's configuration (if applicable) and service provider:
php artisan vendor:publish --provider="Vendor\PackageName\PackageServiceProvider"
Register event listeners in EventServiceProvider or use package-provided listeners. The package now emits events for core ticket actions (creation, closing, reply, deletion). Check the README for event namespaces and payload structures.
First use case: Listen for ticket creation events to trigger welcome notifications:
// app/Providers/EventServiceProvider.php
protected $listen = [
'Vendor\PackageName\Events\TicketCreated' => [
'App\Listeners\SendTicketWelcomeEmail',
],
];
Leverage the new events to decouple side-effects from ticket actions. Common patterns:
TicketClosed to log closure details.TicketCreated or TicketReplied.TicketDeleted listeners.Example listener for replies:
// app/Listeners/NotifyOnTicketReply.php
public function handle(TicketReplied $event) {
Notification::route('mail', $event->ticket->user)
->notify(new TicketReplyNotification($event->reply));
}
TicketCreated → SendWelcomeEmailJob).TicketClosed → LogActivityMiddleware).$event->ticket or $event->reply for dynamic data. Use dd($event) in listeners during development.->priority(10)) for critical listeners.Vendor\PackageName\Events\TicketCreated).TicketCreated includes ticket, user, and metadata).TicketEscalated) alongside core events.EventServiceProvider with higher priority.Pro Tip: Use php artisan event:list to verify registered listeners after updates.
How can I help you explore Laravel packages today?