Skip to content

Auto-Discovery for Events and Listeners Causes Duplicate Listener Entries and Conflicts with Manual Registration #53533

@votkapower

Description

@votkapower

Laravel Version

11.31

PHP Version

8.2

Database Driver & Version

Mysql

Description

Problem Description

Laravel's auto-discovery for events and listeners, along with its automatic linking, is a fantastic feature. However, there is no way to disable this functionality.

When you manually specify listeners for each event in the AppServiceProvider and then run php artisan event:list, the listeners are listed twice—once from auto-discovery and once from manual registration.

This creates a conflict, especially when you want to control the order of execution. Currently:

  • The execution order of listeners is unclear.
  • There is no documented way to define or enforce the order of execution.

Suggested Improvement

Laravel should provide a method to disable the auto-linking of events and listeners. This would allow developers to manually specify listeners and their order, ensuring a predictable and controlled execution flow.

Related Issues I found reporting similar concerns, such as this one: #52714

Steps To Reproduce

Follow steps into this issue: #52714

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions