• 한국어 가리기보기

XE의 트리거란(trigger)?

XE에서 사용되고 있는 트리거(trigger)에 대해서 설명해주세요.

XE의 트리거란(trigger)?

XE에서 사용되고 있는 트리거(trigger)에 대해서 설명해주세요.

XE에서 사용되고 있는 트리거(trigger)에 대해서 설명해주세요.

  • 부제목
  • 본문 제목 글꼴
  • 본문 커버 높이
  • label
  • starate
  • coverimage
  • vidmp4
  • vidwebm
lkm_webgift by
lkm_webgift
 관리그룹 
댓글1
로그인 후 댓글 작성이 가능합니다.
로그인 후 댓글 작성이 가능합니다.
    1
  • lkm_webgift
    lkm_webgift 2018.12.29 02:52

    트리거란?

     

    XE에서는 모듈의 실행 도중에 동작 제어가 필요한 경우 트리거(Trigger) 라는 기능을 사용합니다.

     

     

     

    다른 모듈의 특정 액션에 어떤 동작을 하고 싶을 때 트리거를 사용합니다.

     

    트리거를 이용하여 모듈을 수정하지 않고 새로운 모듈로 만들어 동작 제어 및 기능 추가 등을 할 수 있습니다.

     

     

     

    단, 해당 모듈에서 트리거를 제공해야 합니다. 

     

     

    트리거의 호출

     

              ModuleHandler::triggerCall('트리거 이름', '호출 시점(Called Position) ', 트리거의 매개변수로 사용될 객체);

     

     

    트리거의 등록

     

    // Module Controller 인스턴스 생성

    $oModuleController = &getController('module');

     

    // 트리거 등록

    $oModuleController->insertTrigger('트리거 이름', '모듈 이름', '호출할 메소드가 속한 인스턴스의 종류', '호출할 메소드(Called Method)', '호출 시점 (Called Position)');

     

     

     

    '트리거이름 ex epay.processPayment(epay 모듈의 processPayment 메소드)'의 반환값을 

     

    '모듈이름ex paynoty' 모듈 내부의 

     

    '호출할 메소드가 속한 인스턴스의 종류ex controller'에서

     

    '호출할 메소드'의 매개변수값으로 받겠다. 

     

     

     

     

     

    호출할 메소드가 속한 인스턴스의 종류 - View, Model, Controller 등 

     

     

     

     

     

    트리거의 삭제

     

    / Module Controller 인스턴스 생성

    $oModuleController = &getController('module');

     

    // 트리거 삭제

    $oModuleController->deleteTrigger('트리거 이름', '모듈 이름', '호출할 메소드가 속한 인스턴스의 종류', '호출할 메소드(Called Method)'+ '+ ', '호출 시점 (Called Position)');

     

     

     

    트리거의 삭제 방법은 트리거의 등록과 동일합니다.

     

     

     

     

     

     

     

    ex)

    DB 에 트리거 삽입 

    $oModuleController->insertTrigger('forum.dispForumCommentSetup', 'comment', 'view',

    'triggerDispCommentAdditionSetup', 'before'); 

     

    트리거 가져오기 

    if(!$oModuleModel->getTrigger('forum.dispForumAdditionSetup', 'document', 'view', 

    'triggerDispDocumentAdditionSetup', 'before')) return true; 

     

    트리거 호출 

    ModuleHandler:: triggerCall ('Trigger Name', 'call time (Called Position)', the trigger 

    will be used as a parameter of the object); 

     

    트리거 삭제 

    $ OModuleController-> deleteTrigger ('Trigger Name', 'module name', 'call the method 

    belongs to the type of instance', 'call the method (Called Method)' + ',' call time 

    (Called Position) ');

     

     

     

     

    트리거 목록

    moduleHandler.init

    Called Position : after

     

    매게변수 : $this->module_info (모듈 정보)

     

    모듈을 초기화한 후 호출하게 되는 트리거입니다. 

     

    moduleHandler.proc

    Called Position : after

     

    매게변수 : $oModule (모듈 객체)

     

    모듈을 실행한 후 호출하게 되는 트리거입니다.

     

    display

    Called Position : before

     

    매게변수 : $output (출력 결과물)

     

    레이아웃이 씌워지기 전에 호출하게 되는 트리거입니다.

     

    Called Position : after

     

    매게변수 : $content (출력 결과물)

     

    모든 출력 결과물이 완성된 후 호출하게 되는 트리거입니다.

     

    document.insertDocument

    Called Position : before

     

    메게변수 : $obj (넘어온 문서 정보)

     

    문서를 등록하기 전에 호출하게 되는 트리거입니다.

     

    Called Position : after

     

    메게변수 : $obj (문서 등록 후의 최종적인 문서 정보)

     

    문서를 등록한 후에 호출하게 되는 트리거입니다.

     

    document.updateDocument

    Called Position : before

     

    메게변수 : $obj (수정하게 될 문서 정보)

     

    문서를 수정하기 전에 호출하게 되는 트리거입니다.

     

    Called Position : after

     

    메게변수 : $obj (문서 수정 후의 최종적인 문서 정보)

     

    문서를 수정한 후에 호출하게 되는 트리거입니다.| 원본문서 http://xecenter.com/xe/47749

검색어 입력
전체검색, 사이트 전체를 검색합니다.