Controller có thể đăng ký before hooks (chạy trước action) và after hooks (chạy sau action). Before hooks chạy theo thứ tự đăng ký; after hooks chạy theo thứ tự ngược với thứ tự đăng ký (giống stack unwinding).
Một before hook có thể halt (chặn) chuỗi: nếu hook in trạng thái halt, action và mọi hook còn lại không chạy, và after hooks không chạy.
Cho danh sách before hooks (mỗi hook: name pass|halt), tên action, danh sách after hooks. In log theo thứ tự thực thi:
before <name> cho mỗi before hook chạyhalted by <name> rồi dừngaction <name> rồi các after <name> (thứ tự ngược).Dòng 1: số nguyên B. B dòng: name pass|halt. Dòng kế: tên action. Dòng kế: số nguyên A. A dòng: tên after hook.
0 ≤ B, A ≤ 50.
Các dòng log theo thứ tự thực thi.
Ví dụ:
Đầu vào:
2
auth pass
log pass
save
2
log
commit
Đầu ra:
before auth
before log
action save
after commit
after log
Giải thích:
Đang tải editor...