CI 묻고 답하기

제목 CI4에서 hooks 사용 방법을 알려주세요
카테고리 CI4 관련
글쓴이 나무나무자라나라 작성시각 2021/10/06 17:38:57
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 878   RSS

CI4에서 매번 페이지 이동시 세션 체크 아웃이 되어 있는지 확인하는 기능을 추가하고 싶습니다.

CI3 때는 아래의 코드를 사용하여 hooks를 만들었는데, CI4에서는 events로 한다라는 정보만 알고 어떻게 작업해야할지 감이 안옵니다.

 

/application/hooks/logs.php

function checkPermission() {

    $CI =& get_instance();

    if (isset($CI->allow) && (is_array($CI->allow) === false OR in_array($CI->router->method, $CI->allow) === false)) {

        if (1) { 

            redirect('/account/signin?next=' . urlencode($CI->uri->ruri_string()));

       }

    }

 다음글 uri가 /class/?/class 로 변경됩니다. (1)
 이전글 ci4 레아아웃구성.. (1)

댓글

한대승(불의회상) / 2021/10/06 22:00:55 / 추천 0

이벤트 정의는 app/Config/Events.php 파일에 하시면 됩니다.

페이지 진입시 세션 유무를 확인하는거라면 pre_system 이벤트를 사용하시면 됩니다.

Events::on('pre_system', function (...$params)
{
        . . .
});

메뉴얼 링크 : http://ci4doc.cikorea.net/extending/events.html