묻고답하기

아래에는 document 모듈에서 사용한 대략적인 모양새입니다.
executeQuery 는 한개의 데이터가 있을 때.
executeQueryArray 는 한개의 데이터가 있어도 배열로 넘겨주죠. 이건 freach 사용시 유용할 듯 하네요.

또한 executeQuery 의 경우 한개를 초과한 데이터가 있다면 배열로 넘겨줍니다.

갯수 구하는 로직의 경우 count 값을 넘겨주고.

대략적인 사용법이 이러한데... 이게 toBool() 과 함께 접목이 되면 헷갈립니다.

보통은 모델에서 리턴값을 돌려주기 전에 이러한 로직들이 있는데요,

아래를 보시면 아시겠지만 그 사용들이 제각각입니다. 정확히 어떨 때 어떤식으로 리턴값을 돌려주는 것이 올바른 방법인지에 대해서 문의 드립니다.


//            $output = executeQuery('document.getDocuments', $args, $columnList);
//            $document_list = $output->data;
//            if(!$document_list) return;
//            if(!is_array($document_list)) $document_list = array($document_list);

//            if(!$output->toBool()||!count($output->data)) return $output;

//            if(!$output->toBool()||!$output->data) return;

//            $output = executeQuery('document.getDocumentCountByGroupStatus', $args);
//            if(!$output->toBool()) return array();
//            return $output->data;

//            $output = executeQuery('document.getDocumentExtraVarsCount', $args);
//            $total_count = $output->data->count;
//            return (int)$total_count;

//            $output = executeQuery('document.getMonthlyArchivedList', $args);
//            if(!$output->toBool()||!$output->data) return $output;
//            if(!is_array($output->data)) $output->data = array($output->data);
//            return $output;

//            $output = executeQueryArray('document.getAliases', $args);
//            if(!$output->data) return null;

//            $output = executeQueryArray('document.getHistories', $args);
//            return $output;

//            $output = executeQuery('document.getHistory', $args);
//            return $output->data;



* 그리고 결과값이 없으면 $output->toBool() 은 true 이고 $output->data는 null 인거죠?
오류가 아니라 단지 결과값이 없을 경우에요....

* $output->toBool() 의 경우 $output 자체가 executeQuery 와 같은 것의 제대로 된 결과값 형태가 아닌(즉, Object 형태를 유지하지 못하고 있을 경우) toBool() 함수자체가 정의되지 않은 상태의 결과를 갖게 되었다면 $output->toBool() 이란 함수 자체가 오류를 내지는 않나요? toBool() 이란 함수 자체가 없으니... $output->data 야 변수형이라서 없다면 그냥 null 값이겠지만 $output->toBool() 의 경우에는 없는 함수에 접근하려고 했으니 오류를 출력할 것 같은데..
$output = executeQuery(xxx);
에서 $output 이 executeQuery 자체가 중간에 예기치 않은 오류가 나서 $output 에 error=-1 을 가진 Object 형 마저도 가지지 못한 상태라면
if($output->toBool()) 과 같은 형태의 오류 체크 자체가 오류를 낼 수 있는 상황인데
이로 인한 문제는 없을까요? 
이런 경우는 발생할 일이 없는건가요?
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
2donggalbi 보안로그인 (SSL) 으로 로그인하기 버튼 만드는법  
그누와엑스이 @송동우 님이 제작하신 voteNmove  
Goooooo 본인이 올린 자료 다운시.....포인트 차감 질문드립니다. [1] 2013.03.23 by 송동우
파이어레듵 출석부 DB가 어디에 저장이 되나요? [1] 2013.03.23 by 송동우
산음 이상한 엮인글 주소들.... [1] file 2013.03.23 by 손주사랑
didigigi 상단여백 아무리해도 죽겠습니다. [1] file 2013.03.23 by 아키xe
wontak 추천/비추천 추천했습니다. 비추천했습니다 팝업창 질문드립니다. [2] 2013.03.23 by wontak
라떼군 www를 통한 게시판 이동이 되질 않습니다.  
금빛붕어 xe 1.4.5.9에서 1.5.4.2 업데이트 문의 [1] 2013.03.23 by pentopen
rosery 제발 살려주세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ [2] 2013.03.23 by pentopen
wlcjack 자꾸 아이프레임이 걸립니다. [1] 2013.03.23 by 윈컴이
구름나무바위 게시판에서 글등록 버튼을 2번 클릭해야 글이 등록 되는 이유는 뭔가요? [1] 2013.03.23 by 송동우
지누컴 페이지 오류가 뜨는데 어떻게 수정해야 되는지 알고 싶습니다. [1] 2013.03.23 by 푸시아
heliD 업데이트 후에 404 오류가 뜹니다.  
socialskyo getpermURL 사용 하는 법  
lenaud srl이 뭔가요?..??? [1] 2013.03.24 by 송동우
지난해11월 닉네임 축출 소스는? [1] 2013.03.24 by 송동우
이온디 nginx에서 .파일명은 업로드 안되는데 문제 없을까요? file  
xe전문가 lang.xml 또는 ko.lang.php 파일... [2] 2013.03.24 by xe전문가
xe전문가 $output->data 나 $output-toBool() 과 같은 것들의 정확한 사용법... 리턴값에 대해. [1] 2013.03.24 by 푸시아
바바리아 xe 1.5.3 회원정보 컬럼이 다 지워졌습니다.  
rosery 게시판 배경색 없애는 법 좀 알려주세요 ㅠㅠ [1] 2013.03.24 by 아키xe
나크9 스케치북5 게시판에서 검색어 옵션 바꾸는 것 좀 도와주세요ㅠㅠ [2] 2013.03.24 by 송동우
Chro 홈페이지에 XE게시판을 어떻게 넣어야 할까요? [1] 2013.03.24 by 송동우
카덩이 아이프레임 안에서만 자동새로고침 할려면 어떻게 해야하나요? [1] 2013.03.24 by 송동우
rosery 1.7업뎃 이후 한줄 메모 수정 ..ㅠㅠ [2] file 2013.03.24 by 송동우
참치찌개 언어 선택 문제 [1] 2013.03.24 by 송동우
보로봉봉 신규버전 업데이트 후.. [1] 2013.03.24 by 송동우
카덩이 동우님 답변감사합니다.다시한번바주세요 ㅠㅠ  
전경국 XE 1.7.3.0 사용중입니다. [1] 2013.03.25 by 송동우