찾다

 >  Q&A  >  본문

Symfony3 - laravel을 기반으로 개발된 Flarum 포럼, 소스 코드에서 GroupWillBeSaved 이벤트의 용도는 무엇입니까?

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)); 실행과정은 어떻게 되나요?

PHP中文网PHP中文网2780일 전713

모든 응답(1)나는 대답할 것이다

  • PHPz

    PHPz2017-05-16 16:54:29

    실제로 누군가가 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 이벤트에 해당하는 리스너는 어디에 있나요?

    GroupWillBeSaved 이벤트에는 해당 리스너가 전혀 없습니다.

    그럼 왜 이렇게 디자인된 걸까요?

    Flarum의 목표는 마이크로커널을 개발하는 것이므로 확장을 통해 다른 기능을 구현할 수 있습니다. Flarum 커널을 확장할 때에도 다양한 이벤트를 수신해야 합니다. 마찬가지로 Flarum은 작동 중에 다양한 이벤트를 발생시킵니다. Flarum 코어가 이러한 이벤트를 모두 처리하지는 않지만 확장 기능을 개발할 때 관심 있는 이벤트를 처리할 수 있습니다.

    대부분의 시스템은 실행 중에 다양한 후크를 마운트하며 Flarum의 Pub/Sub 모드는 확실히 확장에 더 도움이 됩니다.

    회신하다
    0
  • 취소회신하다