제목 | 컨트롤러에서 컨트롤러 사용 | ||
---|---|---|---|
글쓴이 | 한대승(불의회상) | 작성시각 | 2014/11/20 11:07:15 |
|
|||
1. 설치 방법
class Welcome extends CI_Controller { public function index() { $this->load->helper('load_controller'); // 헬퍼 로드 // http:// myweb.co.kr/pages $page= load_controller('pages'); // 컨트롤러 로드 $page->index(); // 메소드 호출 // http:// myweb.co.kr/modules/common $common = load_controller('modules/common'); // 컨트롤러 로드 $common->index(); // 메소드 호출 } } |
|||
첨부파일 |
load_controller_helper.zip (755 Bytes) |
||
다음글 | CI용 카산드라DB CQL 드라이버 (2) | ||
이전글 | Template 엔진 (3) | ||
변종원(웅파)
/
2014/11/20 14:53:53 /
추천
0
good job!!!!
|
코드이그
/
2014/11/21 12:12:01 /
추천
0
헐.... 무지 좋은정보 감사드립니다
|
들국화
/
2014/11/21 15:14:31 /
추천
0
|
변종원(웅파)
/
2014/11/21 18:11:43 /
추천
0
땡유~~~ ^^
|
minjongi
/
2014/11/25 10:08:30 /
추천
0
딱 고민하고 있었는데 너무 좋은자료 감사합니다~
그런데 한가지 궁금한점이 있는데 여쭤보겠습니다 $class_file = count($class_info) > 0 ? implode('/', array_merge($class_info, (array) $class_name)) : $class_name; $class_file = realpath(APPPATH . 'controllers/' . $class_file . '.php'); $class_file = $class_file != NULL ? $class_file : realpath(APPPATH . 'controllers/' . strtolower($class_file) . '.php'); 실제 사용하려다 보니 이 부분에서 파일명을 소문자인데 Board 이런식으로 파라미터를 넘기면 못찾아서 확인을 해보니 첫번째 realpath 에서는 대소구분으로 못찾고, 두번째 realpath 에서는 첫번째 realpath 에서 리턴한 false 를 파일명으로 사용하여 무조건 false를 리턴하여 의미가 없는것으로 보이는데 맞는지요? 아니면 혹시 어떤 의미가 있는것인지 궁금합니다^^; 너무 좋은 자료 올려주셨는데 긴 질문을 드려 죄송합니다^^;; |
한대승(불의회상)
/
2014/11/25 11:42:23 /
추천
0
minjongi// 파일명 대소문자 구별 안하는 Windows에서 테스트를 하니 버그를 지적하는데도 발견을 못했습니다.
정말 뭔가에 씌인듯한 느낌이네요. 좋은 정보 감사 합니다. |
minjongi
/
2014/11/26 15:23:55 /
추천
0
이제서야 다시 들어와서 확인했습니다
올려주신 소스 덕분에 작업 잘 마치게 되었습니다~ 감사합니다~^^ PS. 염치불구하고 한가지만 더 여쭤보겠습니다^^; 올려주신 헬퍼를 사용하여 컨트롤러를 로드하면 로드된 컨트롤러 안에서 모델을 로드할때 세번째 인자를 true로 줘도 해당 모델에서 $this->db 가 먹히질 않네요... 그래서 해당 모델 생성자에 $this->load->database(); 이 코드를 추가해 보았는데 정상적으로 DB 접속이 되어 사용할 수 있었습니다 혹시 구조상 원래 그런건지 제가 잘못 사용을 한건지.. 저는 아무리 봐도 아직 답을 찾지 못하여 질문드립니다~ 혹시 알고 계시다면 답변 부탁드리겠습니다~ |
한대승(불의회상)
/
2014/11/26 19:53:39 /
추천
0
minjongi// database를 autoload에 등록해 주시거나 컨트롤러를 로드 하여 호출하기 전에 Database를 먼저 로드해 주시면 됩니다.
|
letsgolee
/
2014/12/06 19:48:33 /
추천
0
load->library를 써도 되지 않나요?
$this->load->library('../Controllers/foo'); $this->foo->index(); |
한대승(불의회상)
/
2014/12/06 21:37:46 /
추천
0
ㅎㅎ 그렇네요. ^^
발상의 전환 |