Performance: Event subscribers
MEDIUM IMPACT
This affects how quickly events are handled and how much CPU and memory are used during event dispatching.
class UserEventSubscriber { public function subscribe($events) { $events->listen('UserRegistered', 'UserEventSubscriber@onUserRegistered'); // Only subscribe to events needed for current request context } } // Register subscriber conditionally or lazily
class UserEventSubscriber { public function subscribe($events) { $events->listen('UserRegistered', 'UserEventSubscriber@onUserRegistered'); $events->listen('UserLoggedIn', 'UserEventSubscriber@onUserLoggedIn'); $events->listen('UserLoggedOut', 'UserEventSubscriber@onUserLoggedOut'); // ... many more event listeners } } // Registered globally for all requests
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Many global event subscribers | N/A | N/A | N/A | [X] Bad |
| Selective event subscriber registration | N/A | N/A | N/A | [OK] Good |