
Events & Listeners
Event 생성, Listener 등록, Event dispatch, Event Subscriber, queue 처리된 Listener, Broadcast Event
1Laravel에서 Event란 무엇입니까?
Laravel에서 Event란 무엇입니까?
답변
Event는 애플리케이션에서 발생한 중요한 동작이나 사건을 나타내는 클래스입니다. 데이터를 담은 메시지 역할을 하며, 느슨하게 결합된 방식으로 여러 Listener가 dispatch하고 수신할 수 있습니다. Event를 사용하면 기존 코드를 수정하지 않고 동작을 추가할 수 있어 Open/Closed 원칙을 지킬 수 있습니다.
2Artisan으로 Event와 연결된 Listener를 어떻게 생성합니까?
Artisan으로 Event와 연결된 Listener를 어떻게 생성합니까?
답변
'php artisan make:event' 명령은 Event를 생성하고, 'php artisan make:listener' 명령은 Listener를 생성합니다. --event=EventName 옵션을 추가하면 해당 Event를 받도록 Listener가 자동으로 타입 지정됩니다. 또한 EventServiceProvider에 매핑을 정의한 뒤 'php artisan event:generate'를 실행하면 누락된 모든 Event와 Listener를 자동으로 생성할 수 있습니다.
3Laravel에서 Event와 Listener 간의 매핑을 어디에 등록합니까?
Laravel에서 Event와 Listener 간의 매핑을 어디에 등록합니까?
답변
Event-Listener 매핑은 EventServiceProvider(App\Providers\EventServiceProvider)의 $listen 프로퍼티에서 수행합니다. 각 키는 Event 클래스의 정규화된 전체 이름이고, 값은 Listener의 배열입니다. Laravel 11부터는 PHP 8 속성 #[ListensTo]를 사용한 자동 검색(auto-discovery)으로 수동 등록을 생략할 수도 있습니다.
Laravel에서 Event를 dispatch(발생)하려면 어떻게 합니까?
Laravel에서 Listener의 기본 구조는 무엇입니까?
+15 면접 질문