포럼

XE 모듈에서 애드온과 트리거 처리는 장점과 단점을 가진 기능입니다.

예전에 멀티태스킹과 OS차원에서 하드웨어를 제어할때 사용했던(지금도 사용하는진 모르겠지만요 ^^)

인터럽트기능과 매우 유사하다고 보여집니다.

아주 유용한 기능이지만 시스템을 먹통으로 만드는 기능(?)도 가지고 있죠.

시스템이 돌아가는 중간중간에 시스템코드가 아니면서도 시스템의 제어권한을 가지고 필요한 처리를 하므로해서 

유용성과 위험성을 함께 가진 방식이라 생각됩니다.

제가 최근에 겪은 문제는 트리거의 경우

분명히 에러처리코드를 리턴했음에도 불구하고 에러처리를 하지 않고 정상처리 되는 경우였습니다.

그래서 이유를 생각해 보았을때

한가지 모듈트리거 호출에 대해서(예를들면 $oModuleController->insertTrigger('file.insertFile', 'eboard', 'controller', 'triggerInsertFile', 'after'); eboard는 board모듈을 상속(카피가 아닌 부모객체의 속성을 그대로)받아 만든 모듈입니다.)

eboard만 처리하는게 아니라 다른 모듈에서도 처리할경우

eboard에서 에러코드를 리턴하더라도 다른모듈에서 다시 리턴코드를 정상코드로 리턴하게 되면

시스템에 리턴되는 최종리턴코드는 호출되는 순서에 따라 달라져서 그런것이 아닌가 하는 생각이 들었습니다.

제가 아직 XE코어의 동작순서나 처리방식에 대해 자세히 알지 못해 추정만 하고 있지만

이런 개연성이 농후해 보입니다.

애드온 역시 호출되는 순서에 따라 앞에서 어떤 값을 셋팅해서 이후에 원하는 결과를 얻고자 하지만

뒤에서 호출된 애드온이 그값을 변경했을때는 원하는 결과를 얻을 수 없습니다.


그래서 저의 생각은

애드온과 트리거처리의 경우는 처리순서와 리턴코드에 대한 

엄격한 기준과 원칙을 만들어야 하지 않을까 합니다.


글쓴이 제목 최종 글
銀童 XE 개발팀의 공지가 좀더 눈높이를 맞춰서 나갔으면 좋겠습니다. [5] 2020.03.14 by BNU
앙까? 애드온 처리와 트리거 처리의 문제점 검토 [1] 2011.05.20 by 銀童
ForHanbi class="active"|cond... 와 다른 클라스명 추가 불능...  
라마야나 1.4.5.7 업데이트 후 로그인이 전혀 되지 않습니다. [2] 2011.05.20 by 카르마
sejin7940 XE 내부의 xml 은 서브쿼리가 아직 지원이 안 되나요? [1] 2020.03.14 by BNU
정찬명 사용자포럼에 대한 제안을 수정해 볼께요. [6] 2020.03.14 by guny
토비코비 개발자님께... XE사용시 에러에 관하여... [9] 2011.05.18 by NetCabin
정찬명 재미로 보는 한국 오픈소스 커뮤니티 자유게시판. [12] file 2011.05.17 by 정찬명
정찬명 XE 공식 웹 사이트에 수록할 '쇼케이스'를 추천 받습니다. [44] 2020.03.14 by XE Developers
시니시즘 [시니시즘] '내용을 입력해주세요' 무시하기 팁 [6] 2011.05.16 by 앙까?
앙까? "XE 프로젝트 호스팅 이전 및 종료 공지"를 보고 [6] 2011.05.16 by Garon
Thejeon 처음으로 모듈을 만들어보는데.. [5] 2011.05.13 by 라르게덴
정찬명 fsfsdas님의 궁금증에 개인 의견으로 답변드립니다.  [9] 2011.05.08 by 쏭바강
정찬명 XE 코어 1.5 배포 일정이 변경된 이유. [14] 2011.05.07 by 토비코비
Garon 여러 모듈등, 버그를 잡기 위한 엔진....아이디어(?) [3] 2011.05.04 by Cody
burster 축하해 주십시요~~~!!! 난다날아님 회원확장모듈... [3] 2011.05.03 by 인간a
ForHanbi XE 사이트 게시판 오류 [1] 2011.05.03 by 인간a
Cody 이슈트래커 세션타임아웃 시 로그아웃 되는 현상  
SMaker 1.5.0 브랜치 업데이트 좀 해주세요~  
착한악마 글작성 완료 페이지는 도대체 어디에? [4] 2011.05.02 by 착한악마