core 의 컨트롤러 안에 있는 멤버메소드인거 같은데요
view를 레이아웃?템플릿에 view파일을 렌더링 하는 건데요.
소스내에 아무리 찾아도 저 _output() 을 호출하는 부분이 없는데요
자식컨트롤러 예를 들어 Account.php 의
class Account expends MY_Controller {
function sign_in() {
$this->load->view(....);
{
}
이 안에 aleret창을 해보고 저 _output창에 alert() 을 해보면 _output() 쪽이 무조건 나중에 alert이 나옵니다.
도데체 어떻게 이 _outgput 이 실행되는지 알고 싶습니다.
class MY_Controller expands CI_Controller {
....
.....
ype = $this->output->get_content_type();
$is_html = strpos($type, 'html') !== FALSE;
/*
* HTML 출력일때
*/
extract($this->vars);
$CONTENT = $output;
$layout_file = VIEWPATH . '_layout/layer.' . $this->_layout . '.php';
if (file_exists($layout_file) === FALSE) {
$layout_file = VIEWPATH . '_layout/layer.default.php';
}
ob_start();
include_once $layout_file;
$output = ob_get_clean();
unset($CONTENT);
if (ENVIRONMENT != 'development') { // --
$output = preg_replace('/("|\')(\/www)(\/src\/)(css|js)/im', '$1$2/dist/$4', $output);
}
//if ($is_html) print mb_convert_encoding(trim($output), 'HTML-ENTITIES', 'AUTO') . PHP_EOL;
print trim($output);
}
질문하신 소스상에 _output() 라는 부분은 없습니다.
$this->output->get_content_type(); <- 이 부분이라면 모델이나 라이브러리 폴더에 있는지 보세요.