CI 묻고 답하기

제목 controller의 함수 호출 질문입니다.
글쓴이 호선 작성시각 2009/10/29 04:21:35
댓글 : 3 추천 : 0 스크랩 : 1 조회수 : 39737   RSS
controller에서 다른 controller의 함수를 호출하는 방법을 알고 싶습니다.
호출을 원하는 이유는 함수를 재사용하고 싶기 때문입니다.
며칠동안 여기저기 검색해서 찾아봤는데, 비슷한 것으로 matchbox가 있더군요..

근데 matchbox는 model이나 view를 모듈화해서 호출하는 것이지,
비지니스 로직이 포함된 함수를 호출할 수는 없는 것 같습니다.
특정 controller의 함수를 호출할 수 있어야 다른 controller에서 필요할 때 재사용할 수 있을텐데요..
아시는 분의 답변을 부탁드립니다.

 다음글 레이아웃 질문 (10)
 이전글 ci captcha를 사용하려고 하는데. (1)

댓글

양승현 / 2009/10/29 09:46:42 / 추천 0
컨트롤러도 클래스 이기 때문에 클래스를 로드한후 객체생성을 해주시면 됩니다.

require(APPPATH.'/controllers/class_name'.EXT);
$class_name = new class_name;       
$class_name->function_name();
ci세상 / 2009/10/29 09:56:24 / 추천 0
파파님 감사요 ^^

welcome.php
<?php

require_once 'welcome2.php';

class Welcome extends Controller {

	function Welcome()
	{
		parent::Controller();	
	}
	
	function index()
	{
		$second  = new Welcome2();
		echo $second->write();
	}
}


welcome2.php

<?php

class Welcome2 extends Controller {

	function Welcome2()
	{
		parent::Controller();	
	}
	
	function write()
	{
		return "두번째 컨트롤러 재사용";
	}
}
호선 / 2009/10/29 10:35:17 / 추천 0
아아.. 감사합니다~~
require_once로 가져와서 생성하면 되는군요..^^
ci를 너무 복잡하게 생각했었네요..ㅎㅎ