CodeIgniter4 Events 기능 다루기

0

최근에 회사에서 CI4 사용할 일이 있어서 CI4를 사용하였는데, 편리한 기능들이 많지만 그중에서 이벤트(Events) 기능에 대해 정리해두면 두고두고 써먹을 일이 있을 것 같아서 몇 자 적어보기로 하였다.

http://ci4doc.cikorea.net/extending/events.html


이벤트(Events)

  • 쉽게 말해서, 실행 프로세스의 각 단계에서 '항상' 작동할 수 있도록 해주는 기능이다.
    - 예를 들어, 페이지가 뜰 때마다 '어떤 기능'을 활성화 시켜야 한다던가, 변경해야한다던가 하는 상황이 생겼을 때 바로 이 Events 기능을 사용할 수 있다.

  • 경로 : app/Config/Events.php

  • Events 클래스의 on() 메소드로 액션을 실행시킬 수 있다.

  • pre_system : 시스템 실행 초반에 실행되는 이벤트이다. 라우팅이나 어떠한 프로세스도 발생하지 않았을 때 작동한다.
  • post_controller_constructor :
    - 컨트롤러가 인스턴스화 된 직후, 메소드 호출이 발생하기 전에 호출
    • 다른 말로 페이지가 뜰 때마다 이 이벤트가 실행된다.
    • 쿠키나 세션 값을 바꿔주거나, 고객의 id를 확인하거나 하는 등의 다양한 방법으로 활용이 가능하다고 생각된다.
  • pre_system : 최종 렌더링된 페이지가 브라우저로 전송된 후 (페이지가 다 뜬 후) 시스템 실행이 끝날 때 호출이 된다.

Events::on("post_controller_constructor", function(){
	contents ;
});

해당 내용을 사용하면 페이지가 뜰 때마다 SESSION 을 파싱해서 내용을 사용한다던가, 이용자를 확인하여 팅기게 한다던가 하는 기능들이 가능하다.

profile
분명히 처음엔 데린이었는데,, 이제 개린이인가..

0개의 댓글