Skip to content

Commit 37f9419

Browse files
committed
이벤트 문서 보완
RX 2.2 이상에서 지원하는 이벤트 방식으로 개편. 이벤트 목록에서 이벤트 유형을 구분하여 표기.
1 parent b91327c commit 37f9419

20 files changed

Lines changed: 653 additions & 338 deletions

docs/.vitepress/config.mts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,9 @@ export default mergeConfig(customConfig, defineConfig({
188188
},
189189
{
190190
text: '이벤트 (트리거)',
191-
link: '/reference/trigger',
191+
link: '/reference/event',
192192
items: [
193-
{ text: '개요', link: '/reference/trigger' },
194-
{ text: '이벤트 목록', link: '/reference/trigger-list' },
193+
{ text: '이벤트 목록', link: '/reference/event-list' },
195194
],
196195
},
197196
{ text: '라우터', link: '/reference/router' },

docs/design/template/blade.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
outline: [2, 5]
33
---
44

5-
# 템플릿 문법 (v2) <Badge type="tip" text="Since Rhymix v2.2" />
5+
# 템플릿 문법 (v2) <Badge type="tip" text="v2.2+" />
66

77
::: danger
88
🚧 이 문서는 초안을 작성중인 문서이다.

docs/extend/module/about.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ modules/example
7171
├── schemas
7272
├── src # 모듈을 구성하는 PHP 파일 // [!code ++]
7373
│   ├── controllers # 컨트롤러 // [!code ++]
74-
│   ├── tratis # (예시) trait
74+
│   ├── events # (예시)
75+
│   ├── exceptions # (예시)
7576
│   └── models # 모델 // [!code ++]
7677
├── vendor # (composer 사용 시)
7778
├── views

docs/extend/module/event.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,5 +96,5 @@ class EventHandler
9696
}
9797
```
9898

99-
::: info -> [`admin.dashboard` 이벤트 자세히 보기](/reference/trigger-list#core-admin.dashboard)
99+
::: info -> [`admin.dashboard` 이벤트 자세히 보기](/reference/event-list#core-admin.dashboard)
100100
:::

docs/extend/module/manifest.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ outline: [2, 4]
4848

4949
## 모듈 설정 (module.xml) <Badge type="danger" text="🚧 초안 작성중" />
5050

51-
### 커스텀 네임스페이스 (namespaces) <Badge type="tip" text="Since v2.1.3" />
51+
### 커스텀 네임스페이스 (namespaces) <Badge type="tip" text="v2.1.3+" />
5252

5353
라이믹스는 2.1.3부터 네임스페이스를 지원한다.
5454

@@ -85,7 +85,7 @@ use VendorName\Example1\Models\ConfigModel;
8585

8686
---
8787

88-
### 최상위 클래스 (classes) <Badge type="tip" text="Since v2.1.3" />
88+
### 최상위 클래스 (classes) <Badge type="tip" text="v2.1.3+" />
8989

9090
모듈의 최상위 클래스를 정의하는데 사용한다.
9191
이 최상위 클래스는 모듈의 설치나 업데이트를 위한 구성을 정의하거나 모듈을 구성하는 정보를 담는 객체를 생성하는데 사용된다.
@@ -193,7 +193,7 @@ class CommonController extends \ModuleObject
193193

194194
---
195195

196-
### 라우터 (router) <Badge type="tip" text="Since v2.1.3" /> <Badge type="danger" text="🚧 초안 작성중" />
196+
### 라우터 (router) <Badge type="tip" text="v2.1.3+" /> <Badge type="danger" text="🚧 초안 작성중" />
197197

198198
라우터는 액션의 정보에 포함할 수 있다.
199199

@@ -221,7 +221,7 @@ class CommonController extends \ModuleObject
221221

222222
---
223223

224-
### 이벤트 핸들러 (eventHandlers) <Badge type="tip" text="Since v2.1.3" /> <Badge type="danger" text="🚧 초안 작성중" />
224+
### 이벤트 핸들러 (eventHandlers) <Badge type="tip" text="v2.1.3+" /> <Badge type="danger" text="🚧 초안 작성중" />
225225

226226
이벤트 핸들러는 트리거를 등록, 수정, 삭제할 수 있다.
227227

@@ -263,7 +263,7 @@ class EventHandler extends \ModuleObject
263263

264264
---
265265

266-
### 오류 처리 (errorHandlers) <Badge type="tip" text="Since v2.1.3" /> <Badge type="danger" text="🚧 초안 작성중" />
266+
### 오류 처리 (errorHandlers) <Badge type="tip" text="v2.1.3+" /> <Badge type="danger" text="🚧 초안 작성중" />
267267

268268
```xml
269269
<errorHandlers>

docs/reference/changelog.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -245,9 +245,9 @@
245245

246246
| 트리거 | 추가된 버전 |
247247
| -------------------------------------------------------------------------------------------------- | ----------- |
248-
| [`comment.getThumbnail`](/reference/trigger-list#comment-getThumbnail) (before) | v2.0.0 |
249-
| [`document.getThumbnail`](/reference/trigger-list#document-getThumbnail) (before) | v2.0.0 |
250-
| [`member.deleteScrapDocument`](/reference/trigger-list#member-deleteScrapDocument) (before, after) | v2.0.24 |
248+
| [`comment.getThumbnail`](/reference/event-list#comment-getThumbnail) (before) | v2.0.0 |
249+
| [`document.getThumbnail`](/reference/event-list#document-getThumbnail) (before) | v2.0.0 |
250+
| [`member.deleteScrapDocument`](/reference/event-list#member-deleteScrapDocument) (before, after) | v2.0.24 |
251251

252252
### v2.0.24 — 2022-12-21 {#v2-0-24}
253253

@@ -493,8 +493,8 @@ PHP 7.0-7.1에서 정상 작동하던 모듈, 애드온, 위젯 등이 PHP 7.2
493493
- 확장변수 타입 추가. 국제전화번호, 국가, 언어, 시간대(Timezone) [#1475](https://github.com/rhymix/rhymix/pull/1475)
494494
- 회원정보 설정에서만 사용할 수 있다
495495
- 썸네일 생성 시 트리거 추가
496-
- `document.getThumbnail`(before) -> [바로가기](/reference/trigger-list.html#document-getThumbnail)
497-
- `comment.getThumbnail`(before) -> [바로가기](/reference/trigger-list.html#comment-getThumbnail)
496+
- `document.getThumbnail`(before) -> [바로가기](/reference/event-list.html#document-getThumbnail)
497+
- `comment.getThumbnail`(before) -> [바로가기](/reference/event-list.html#comment-getThumbnail)
498498
- 특정 문서와 회원에 관련된 캐시를 제거하는 메소드 추가
499499
- `DocumentController::clearDocumentCache()`
500500
- `MemberController::clearMemberCache()`

docs/reference/event-list.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# 이벤트 / 트리거 목록
2+
3+
> [!danger] 🚧 이 문서는 초안을 작성중인 문서이다.
4+
5+
> [!important] 이 문서는 항상 부정확하다
6+
> 코드의 모든 변경사항을 추적하여 이 문서를 항상 최신으로 유지하는 것은 어렵다.
7+
>
8+
> 이벤트(트리거)가 전달하는 데이터 형식은 상세히 정의하려고 했으나 각 속성의 타입이 설명한 것과 다르거나 누락, 변경 되었을 수 있다. 이벤트를 이해하는데 힌트로 삼을 정도는 되지만 전달 객체를 확인하여 사용하는 것을 권장한다.
9+
>
10+
> 라이믹스의 디버그 기능을 활성화하고 `debugPrint()` 함수를 이용해 데이터를 확인할 수 있다.
11+
> 관리페이지에서 "설정 -> 시스템 설정 -> 디버그 설정" 탭에서 디버그 기능을 설정할 수 있다.
12+
>
13+
> ```php
14+
> // 이벤트 리스너(콜백)의 예
15+
> addTriggerFunction($name, $position, function ($data) {
16+
> debugPrint($data);
17+
> });
18+
> ```
19+
20+
> [!tip]
21+
> 가장 먼저 실행되는 트리거는 `moduleHandler.init`(before), 가장 마지막은 `display`(after) 이다.
22+
23+
> [!TIP] 모듈의 액션이 실행될 때 자동으로 발생하는 이벤트
24+
> 모듈의 액션이 실행되기 전, 후에 `act:모듈이름.액션이름` 형태의 이벤트가 발생하며, `before`, `after` 시점으로 구분된다.
25+
>
26+
> 예를들어, 회원이 로그아웃할 때 `member` 모듈의 `procMemberLogout` 액션이 실행되는데, 다음과 같이 이벤트가 발생한다.
27+
>
28+
> 1. before `act:member.procMemberLogout`
29+
> 1. before `member.doLogout`
30+
> 1. after `member.doLogout`
31+
> 1. after `act:member.procMemberLogout`
32+
>
33+
> before `act:member.procMemberLogout` 이벤트의 핸들러는 액션이 실행된 모듈의 인스턴스를 인자로 받을 수 있으며, after `act:member.procMemberLogout` 이벤트의 핸들러는 액션 메소드가 반환한 결과(보통 `\BaseObject` 또는 `\Rhymix\Framework\Helpers\DBResultHelper`)를 인자로 받을 수 있다.
34+
35+
## 변경내역 {#changes}
36+
37+
<!--@include: ./parts/event-list-changes.md -->
38+
39+
## 코어 <Badge type="danger" text="🚧 초안 작성중" /> {#core}
40+
41+
<!--@include: ./parts/event-list-core.md -->
42+
43+
## 문서 (document) <Badge type="danger" text="🚧 초안 작성중" /> {#document}
44+
45+
<!--@include: ./parts/event-list-document.md -->
46+
47+
## 댓글 (comment) <Badge type="danger" text="🚧 초안 작성중" /> {#comment}
48+
49+
<!--@include: ./parts/event-list-comment.md -->
50+
51+
## 회원 (member) <Badge type="danger" text="🚧 초안 작성중" /> {#member}
52+
53+
<!--@include: ./parts/event-list-member.md -->
54+
55+
## 파일 (file) <Badge type="danger" text="🚧 초안 작성중" /> {#file}
56+
57+
<!--@include: ./parts/event-list-file.md -->
58+
59+
## 커뮤니케이션 (communication) <Badge type="danger" text="🚧 초안 작성중" /> {#communication}
60+
61+
### deleteMessage <Badge type="info" text="Trigger" /> <Badge type="info" text="before, after" /> <Badge type="tip" text="v2.1.12+" /> <Badge type="danger" text="🚧 초안 작성중" /> {#communication-deleteMessage}
62+
63+
### deleteMessages <Badge type="info" text="Trigger" /> <Badge type="info" text="before, after" /> <Badge type="tip" text="v2.1.12+" /> <Badge type="danger" text="🚧 초안 작성중" /> {#communication-deleteMessages}
64+
65+
### addFriend <Badge type="info" text="Trigger" /> <Badge type="info" text="before, after" /> <Badge type="danger" text="🚧 초안 작성중" /> {#communication-addFriend}
66+
67+
### deleteFriend <Badge type="info" text="Trigger" /> <Badge type="info" text="before, after" /> <Badge type="danger" text="🚧 초안 작성중" /> {#communication-deleteFriend}
68+
69+
### sendMessage <Badge type="info" text="Trigger" /> <Badge type="info" text="before, after" /> <Badge type="danger" text="🚧 초안 작성중" /> {#communication-sendMessage}
70+
71+
## 기타 <Badge type="danger" text="🚧 초안 작성중" /> {#etc}
72+
73+
| 이벤트 | 타입 | 호출 시점 | 설명 |
74+
| --------------------------- | ------- | ------------- | ---- |
75+
| editor.deleteSavedDoc | Trigger | after | |
76+
| mail.send | Trigger | before, after | |
77+
| menu.getModuleListInSitemap | Trigger | after | |
78+
| ncenterlite.\_insertNotify | Trigger | before, after | |
79+
| point.setPoint | Trigger | before, after | |
80+
| push.send | Trigger | before, after | |
81+
| sms.send | Trigger | before, after | |

0 commit comments

Comments
 (0)