Flavum 포럼은 laravel을 기반으로 개발되었는데, 소스 코드에서 GroupWillBeSaved
이벤트의 용도는 무엇인가요?
으아악
https://github.com/flarum/core/blob/master/src/Core/Command/EditGroupHandler.php
1) 이벤트와 리스너는 쌍으로 사용됩니다. GroupWillBeSaved
이벤트에 해당하는 리스너는 어디에 있나요?
2)events->fire(new GroupWillBeSaved($group, $actor, $data));
실행과정은 어떻게 되나요?
실제로 누군가가 Segmentfault에서 Flarum에 관해 질문을 했습니다.
저는 Flarum 중국어 커뮤니티의 관리자입니다. 현재 주요 업무는 중국어 언어 팩 및 문서 현지화입니다. 나는 또한 약간의 Flarum 소스 코드를 읽었습니다.
Flarum에 관심을 가져주셔서 기쁩니다. Flarum 중국어 커뮤니티에 참여하여 기여해 주시기 바랍니다.
이것은 시스템을 분리하고 유연한 확장성을 제공하는 데 사용되는 일반적인 Pub/Sub 모드입니다.
첫 번째 질문은 "GroupWillBeSaved"로 검색해 보세요. https://github.com/flarum/core/search?utf8=%E2%9C%93&q=GroupWillBeSaved
3개의 결과가 검색되었습니다. 하나는 정의
GroupWillBeSaved
,另外两个是触发GroupWillBeSaved
입니다.GroupWillBeSaved 이벤트에는 해당 리스너가 전혀 없습니다.
그럼 왜 이렇게 디자인된 걸까요?
Flarum의 목표는 마이크로커널을 개발하는 것이므로 확장을 통해 다른 기능을 구현할 수 있습니다. Flarum 커널을 확장할 때에도 다양한 이벤트를 수신해야 합니다. 마찬가지로 Flarum은 작동 중에 다양한 이벤트를 발생시킵니다. Flarum 코어가 이러한 이벤트를 모두 처리하지는 않지만 확장 기능을 개발할 때 관심 있는 이벤트를 처리할 수 있습니다.
대부분의 시스템은 실행 중에 다양한 후크를 마운트하며 Flarum의 Pub/Sub 모드는 확실히 확장에 더 도움이 됩니다.