XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
조회 수 44 댓글 8

현재 core/modules/member/member.controller.php 에 있는 doLogin() 함수를 보고 있습니다. 근데 여기서

 

   $trigger_obj = new stdClass();
   $trigger_obj->user_id = $user_id;
   $trigger_obj->password = $password;
   $trigger_output = ModuleHandler::triggerCall('member.doLogin', 'before', $trigger_obj);
   if(!$trigger_output->toBool()) return $trigger_output;


triggerCall을 통해서 이 함수를 또 호출해주고 있는데요.. 이게 무슨의미인지 모르겠습니다.

그리고 trigger의 before, after를 넣었을때, 어느 시점에서 trigger가 실행되는지도 잘 모르겠구요..

지식 공유 부탁드립니다!

  • ?
    @제은일행 2016.08.25 12:42:45
    doLogin을 다시 호출하는 것이 아닌 member.doLogin에서 동작하기로 약속된 트리거를 불러와서 실행하는 것이에요.
  • ?
    갸라 2016.08.25 13:48:55
    이부분은 좀 더 공부해 봐야 될거 같네요ㅠ
    그렇다면 제은일행님 말씀대로 트리거를 불러와서 실행한다면 before와 after는 어떤 용도로 사용되나요?
  • profile
    구름이 2016.08.25 13:58:11
    열심히 분석하시는 군요.. 저도 트리거 관련해서 공부좀 해야 되는데요.. 엄두가 안나네요.
  • ?
    갸라 2016.08.30 17:42:58
    이제야 확인했네요..ㅎ 한달정도 분석중인데.. 제대로 하는건지.. 라는 생각이 많이 드네요..ㅠ
  • profile
    GG 2016.08.25 14:01:47
    보통 before 는 함수 앞부분에 위치해서 전달받은 데이터가 처리되기 전에 호출하도록 선언하고, 전달받은 데이터를 받아갈 수 있게 합니다. after는 반대로 데이터가 처리된 후 결과값을 받아가려고 선언합니다. 꼭 그런 용도로만 쓰이는것은 아닙니다.
  • ?
    갸라 2016.08.30 17:51:46
    보통 용도가 정해져 있는 모양이군요.. 지식나눔 감사합니다!ㅎ
  • profile
    기진곰 2016.08.25 17:03:20

    before와 after는 그냥 트리거 이름의 일부라고 생각하시면 됩니다. member.doLogin + before 조합으로 등록한 트리거는 동일한 조합으로 호출했을 때만 실행됩니다.

     

    doLogin() 함수를 자세히 보시면 로그인 처리 전에 before 트리거를 호출하고, 처리 후에 after 트리거를 호출하는 것을 볼 수 있습니다. 로그인 과정에서 언제 끼어들기를 원하는지에 따라 용도에 맞게 사용하시면 됩니다. 예를 들어 특정 유저의 로그인을 금지하는 모듈을 개발하신다면 로그인 전에 막아야 하니까 before에서 끼어들어야겠고, 로그인 기록을 남기는 모듈을 개발하신다면 로그인에 성공한 후 통보만 받으면 되니까 after에서 끼어드는 것이 더 효율적입니다.

     

    대부분의 트리거는 before, after가 모두 있지만, 가끔 둘 중 하나만 있는 경우도 있습니다.

  • ?
    갸라 2016.08.30 17:52:44
    명확하게 이해가 가네요! 다시 한번 들춰봐야겠습니다. 지식 공유 감사합니다!

List of Articles
번호 분류 제목 최종 글
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20  
2680 질문/답변 회원정보의 '작성글 보기'에서 목록수를 변경하는 방법은 없을까요? 2 2016.08.27 수정 MIST
2679 질문/답변 XE 최신버전 이미지 자동 삽입 (첨부파일) 질문합니다. 5 2016.08.27 수정 민우
2678 질문/답변 알림 센터 3.0 업데이트 오류 13 2016.08.27 수정 민우
2677 질문/답변 닉네임에 마우스오버시 태그 문의 6 file 2016.08.27 수정 메비우스의닭
2676 질문/답변 개드립넷과 같은 인기글 시스템은 어떻게 구현 해야할까요? 7 2016.08.25 수정 윤체리
2675 질문/답변 서버이전을 했는데 기존 서버가 아직도 나오는 기현상이.. 3 2016.08.26 수정 비누
2674 질문/답변 포인트히스토리 2.0 설정된 일수 이전 데이터 언제 삭제되나요? 4 2016.08.25 수정 웹지기
» 질문/답변 xe core 분석중, trigger 관련해서 궁금한게 있습니다. 8 2016.08.30 수정 갸라
2672 질문/답변 게시판 글쓰기 이상... 15 2016.09.14 수정 아날로그
2671 질문/답변 mysql 테이블 필드수 제한이 궁금합니다. 2 2016.08.25 수정 구름이
2670 질문/답변 글 등록 및 수정 에러 메시지(라이믹스) 4 file 2016.08.25 수정 윤삼
2669 질문/답변 라이믹스 최초 설치 시 설치 창 없이 "빈 페이지" 만 나옵니다. 9 2016.12.01 수정 리피
2668 질문/답변 라이믹스 SEO와 공홈 SEO모듈 같이 사용하시분께 질문 드립니다. 2 2016.08.24 수정 Sunup
2667 질문/답변 게시글 추가 내용 출력 애드온 문의 2016.08.24 작성 메비우스의닭
2666 질문/답변 < 같은 특수문자 6 file 2016.09.29 수정 디지털리스트
2665 질문/답변 공홈 자료 등록/관리에서.. 릴리즈 삭제가 안되나요? 2 2016.08.24 수정 구름이
2664 질문/답변 로그인시 즉시 로그아웃이됩니다 [클라우드플레어 사용중] 2016.08.23 작성 아즈냥
2663 질문/답변 모바일 작성 표시 애드온이 원래 스케치북 게시판에서는 작동하지 않나요? 10 2016.08.24 수정 데버
2662 질문/답변 에러기록모듈에서 나타나는 오류에대해서 문의합니다. 12 file 2016.08.23 수정 pjk
2661 질문/답변 크리테오(criteo) CPM광고 사용방법 아시는분 계신가여? 5 file 2016.08.26 수정 약사이다
Board Pagination Prev 1 ... 33 34 35 36 37 38 39 40 41 42 ... 171 Next
/ 171
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...