## Lifecycle

  1. moduleHandler.init - before
    • \ModuleHandler constructor
    • 가장 먼저 호출되는 트리거
    • 요청 데이터와 route 정보가 담긴 ModuleHandler 객체를 전달 받음
    • 이 트리거 실행 후에 before_module_init 애드온이 실행 됨
  2. moduleHandler.init - after
    • \ModuleHandler->init()
    • 실행될 모듈의 정보(Context::get('current_module_info')와 동일)를 전달 받음
  3. moduleObject.proc - before
    • \ModuleObject->proc()
    • 실행될 모듈의 객체를 전달 받음
      • 공통된 데이터와 모듈에 따라서 담고있는 데이터가 다르다
    • 아직 모듈의 액션이 실행되지 않은 상태
    • 실행 대상 모듈 객체에서 초기화한 데이터와 모듈의 module.xml 정의(xml_info), 요청한 회원 정보를 기반으로한 권한 정보(grant)를 담고 있다
    • 이 트리거 실행 후에 before_module_proc 애드온이 실행 됨
  4. moduleObject.proc - after
    • \ModuleObject->proc()
    • 모듈의 액션이 실행된 후의 처리된 후의 상태
      • 결과 값은 주로 이 객체의 variables 멤버 또는 Context::set()으로 Context에 담겨 있을 수 있다
    • 이 트리거 실행 후에 after_module_proc 애드온이 실행 됨
  5. layout - before
    • \DisplayHandler->printContent()
    • 레이아웃이 그려지기 전
    • 실행된 모듈 객체를 전달 받음
    • 해당 모듈 인스턴스(mid)에 설정된 레이아웃이 layout_path(또는 편집된 레이아웃은 edited_layout_file)에 담겨있다
  6. display - before
    • \DisplayHandler->printContent()
    • 출력할 결과 값이 전달 됨
      • 요청에 따라 HTML, JSON, XML 등의 포맷을 가지고 있으며
      • HTML 응답의 경우 레이아웃이 입혀진 결과물이며 <body>안의 콘텐츠이다
    • 전달 받은 값을 수정하면 결과물을 변경할 수 있다
    • 이 트리거 실행 후에 before_display_content 애드온이 실행 됨
  7. display - after
    • \DisplayHandler->printContent()
    • 라이프사이클에서 가장 마지막에 호출되는 트리거
    • 마찬가지로 요청에 따라 응답 유형에 맞는 포맷의 최종 결과물이 전달 됨
    • HTML 응답의 경우 레이아웃을 포함하여 <html><head> 등을 포함하는 완전한 형태의 HTML이다

 

출처: https://velog.io/@rxpublic/Rhymix-라이믹스-트리거-목록

  • profile

    감사합니다~
    일목요연하기까지 해서 감동적이네요ㅜㅜ
    블로그도 왠지 종종 찾아볼 것 같은 예감이에요!

  • profile

    https://github.com/rhymix/rhymix-docs

    매뉴얼로 고고싱~^^