CI 묻고 답하기

제목 컨트롤러에서 컨트롤러 호출
글쓴이 liekie 작성시각 2013/12/19 08:16:12
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 23481   RSS

컨트롤러에서 INSERT후  VIEW페이지로 이동하였습니다.
F5를 누르니..... 중복오류와 함께 "INSERT"쿼리가 노출이 되더라구요.

고민중에 해결방안으로 이곳 게시글 소스를 참고 하여
"컨트롤러에서 컨트롤러 호출"로 해결 하였습니다.

혹시 다른 대체 방안이 있는지 알려주시면 감사하겠습니다.

PS:
[welcome.php]
<?php

require_once 'welcome2.php';

class Welcome extends CI_Controller {
 
 function __construct() 
 {
  parent::__construct();       
 }
 
 function index()
 { 
  $second = new Welcome2();                                                            
  echo $second->write();                  
 }
                   
}

[welcome2.php]
<?php

class Welcome2 extends CI_Controller {

 function __construct() 
 {
  parent::__construct();       
 }
 
 function write() 
 {
 return "success";
 }

}



PS:개발자에게 필요한 기능임에도
저 역시 CI는 안되는 줄알고 스크립트를 호출해서 사용하곤 했었는데...

"컨트롤러에서 컨트롤러 호출"을 쉽게 사용가능하도록
하거나 메뉴얼등에 명시가 되었으면 좋겠다는 생각입니다.

http://cikorea.net/tip/view/1006/page/1/q/컨트롤러에서 컨트롤러
http://cikorea.net/qna/view/3030/page/1/q/컨트롤러 호출
 

 다음글 이미지 썸네일 생성과 워터마크 문의 입니다. (2)
 이전글 post로 method에 값 전송할 때 어느 페이지에서... (1)

댓글

한대승(불의회상) / 2013/12/19 09:19:27 / 추천 0
컨트롤러에서 컨트롤러를 호출한다기 보다 상속을 받는것입니다.
위의 예제는 아래와 같이 고쳐 쓸 수 있습니다.
 
require_once 'welcome2.php';

class Welcome extends Welcome2 {
 
 function __construct() 
 {
  parent::__construct();       
 }
 
 function index()
 { 
  echo $this->write();                  
 }
}
 
한대승(불의회상) / 2013/12/19 09:23:28 / 추천 0
상속을 사용하는 이유중 하나는 중복된 코드가 사용되는것을 막기 위해서 입니다.
자주 사용되는 코드는 라이브러리로 따로 빼서 사용하는 방법도 있고, 상속을 통하여 사용하는 방법도 있습니다.
 
어떤 방법을 사용하든 그것은 개발하시는 분의 선택 입니다.
 
자신이 경험하고 효율적이라 생각되는 방법을 선택 하시면 됩니다.