CI 묻고 답하기

제목 $autoload에서 설정하지 않고서, view나 controller파일에서 $autoload를 설정해서 사용할 수 있는 방법이 없을까요?
글쓴이 bismute 작성시각 2014/10/14 17:38:51
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 15060   RSS
기존의 적용된 사이트가 단순 정보를 JSON으로 출력하다보니 autoload에 설정된 값이 아무것도 없었습니다.

그런데, 기존 사이트에 로그인 및 관리자단을 작업하려고 하다보니
$autoload['libraries'] $autoload['helper'] 에서 설정을 하면,

기존 JSON 출력파일이 에러가 생겨버리게 됩니다.

로그인 등 새로운 작업 페이지들에서

redirect('home', 'refresh'); $this->session->set_userdata('logged_in', $sess_array);
를 사용할 때, 이 에러들이 발생되는데

이런 작업들을 할 떄 autoload를 따로 설정해서 사용할 수 있는 방법이 있는지,

아니라면, 기존 작업된 파일들에서 이 설정값을 주고서도 정상출력되게 하려면 어떤 방법이 있는지

다른 분들께, 조언을 구해보고 싶습니다.
 다음글 마나님의 공개보드 설치 중 문의 (2)
 이전글 CI멀티사이트 구성시에 크론탭 사용 질문.. (2)

댓글

들국화 / 2014/10/14 17:46:50 / 추천 0
에러가 왜 생기는지 궁금 하네요.
autoload에 안넣으면 필요한 곳에서 만 load하면 됩니다.
libraries 는 $this->load->library() 같이 쓰시면 됩니다.
$this->load->helper()

http://www.codeigniter-kr.org/user_guide_2.1.0/libraries/loader.html
한대승(불의회상) / 2014/10/14 17:52:47 / 추천 0
아마도 뷰를 사용하지 않으시고 echo를 이용하여 컨트롤러에서 출력하시는것 같습니다. ^^

echo문 대신 $this->output->append() 를 이용하시면 autoload시에도 에러를 방지 할 수 있을겁니다.
bismute / 2014/10/14 17:53:38 / 추천 0
들국화//

제가 세팅하려는 autoload가 

$autoload['libraries'] = array('database', 'session'); 라면
view는 사용하는데, 기존 사이트가 $autoload의 세팅 없이 출력하게 설계되어서
이걸 수정하려면, 생각보다 많이 복잡하더라구요.
그래서 제 작업하는 곳만 이런 식으로 따로 라이브러리나 helper를 불러서 작업하려고 하거든요.
bismute / 2014/10/14 18:00:12 / 추천 0
한대승(불의회상) //

컨트롤러에서 바로 출력하는 게 문제라기 보단, 로그인 처리를 하는 곳에서

redirect 나 session을 저장하는 기능을 처리하다보니 기존 사이트가 저 autoload 세팅을 안 하고 처리하다보니

건드리면 기존 기능이 에러가 나게 되더라구요.
변종원(웅파) / 2014/10/14 18:56:14 / 추천 0
답은 첫번째 댓글에서 나왔습니다.

autoload는 말그대로 index.php가 실행되면서 자동으로 로딩을 해주는거죠.
라이브러리 및 헬퍼는 필요한 부분(컨트롤러)에서 로딩해서 쓰시면 됩니다.

뭐가 문제일까요? ^^