CI 코드
| 서치 | |
|---|---|
|
2007년 개인 블로그에 작성한 글입니다.. 퍼갈시 출처 표기 바랍니다. ------------------------- 개인적으로 codeigniter 를 능숙하게 쓰는건 아니지만 조금 큰 규모의 사이트를 제작하다 보니 서브 폴더를 사용해야 했다. 나중에 알고본 사실이지만 다른 문제도 발생했었다^^; 그건 다시 적기로 하고 글을 이어나간다. controller 에서 library 를 로드할때 다음과 같이 서브 폴더를 포함해 읽어들이도록 하면 에러가 발생한다. $this->load->library ( 'member/libmember' ); 때문에 좀 큰 규모의 설정을 바꿔줘야 한다. codeigniter 가 설치된 디렉토리에서 다음과 같은 경로를 따라간다. system/libraries 이 안에 들어가서 Loader.php 를 열고 679 번째 줄을 찾아 다음 내용을 삽입한다.
// Is the class in a sub-folder? If so, parse out the filename and path.
if (strpos($class, '/') === FALSE)
{
$path2 = '';
}
else
{
$x = explode('/', $class);
$class = end($x);
unset($x[count($x)-1]);
$path2 = implode('/', $x).'/';
}
그 리고 나서 다음 내용을 아래와 같이 수정한다. 수정전 :
// Is this a class extension request?
if (file_exists(APPPATH.'libraries/'.config_item('subclass_prefix').$class.EXT))
{
if ( ! file_exists(BASEPATH.'libraries/'.ucfirst($class).EXT))
{
log_message('error', "Unable to load the requested class: ".$class);
show_error("Unable to load the requested class: ".$class);
}
include(BASEPATH.'libraries/'.ucfirst($class).EXT);
include(APPPATH.'libraries/'.config_item('subclass_prefix').$class.EXT);
return $this->_ci_init_class($class, config_item('subclass_prefix'), $params);
}
수 정후 :
// Is this a class extension request?
if (file_exists(APPPATH.'libraries/'.$path2.config_item('subclass_prefix').$class.EXT))
{
if ( ! file_exists(BASEPATH.'libraries/'.$path2.ucfirst($class).EXT))
{
log_message('error', "Unable to load the requested class: ".$class);
show_error("Unable to load the requested class: ".$class);
}
include(BASEPATH.'libraries/'.$path2.ucfirst($class).EXT);
include(APPPATH.'libraries/'.$path2.config_item('subclass_prefix').$class.EXT);
return $this->_ci_init_class($class, config_item('subclass_prefix'), $params);
}
그 리고 다음 줄을 찾아서 수정후로 바꿔준다. 수정전 : $fp = $path.'libraries/'.$class.EXT; 수정후 : $fp = $path.'libraries/'.$path2.$class.EXT; 이렇게 해주면 다음과 같이 가능하다. libraries/member/libmember.php 파일이 있다면 라이브러리 로드시에 다음과 같이 사용해도 에러가 나지 않는다. $this->load->library ( 'member/libmember' ); 만약 위처럼 수정하지 않는다면 라이브러리는 서브폴더를 사용하지 못하게 된다. |
|
| 번호 | 제 목 | 글쓴이 | 날짜 | 조회 | 추천수 |
|---|---|---|---|---|---|
| 580 | CodeIgniter SimpleXML library [0] | 타로 | 2012-02-05 | 29 | 0 |
| 577 | CI 와 Smarty 템플릿의 결합 [2] | 불의회상 | 2012-01-26 | 156 | 0 |
| 573 | Okada Design Blog 소개 [3] | 타로 | 2012-01-12 | 272 | 0 |
| 568 | woctopus 계정관리도구 [2] | milosz | 2012-01-09 | 211 | 0 |
| 566 | 업로드된 이미지 정사각형으로 썸네일 만드는 함수 [3] | 불의회상 | 2012-01-06 | 221 | 0 |
| 554 | 코드 이그나이터를 접하고 처음으로 만들어본 객체 입.. [6] | 내일은 | 2011-11-11 | 1246 | 0 |
| 528 | 모델코드 생성기 [25] | 불의회상 | 2011-10-13 | 1144 | 1 |
| 525 | ci memo + tank_auth [2] | milosz | 2011-10-04 | 943 | 0 |
| 512 | 포럼소스를 2.0.1 버전에 맞게 수정하였습니다. [2] | 탱크 | 2011-04-02 | 3546 | 2 |
| 509 | CI 메뉴얼 CHM 버전(영문 2.0) [1] | 브라이언 | 2011-03-30 | 1242 | 0 |
| 508 | CI 메뉴얼 CHM 버전 [0] | 브라이언 | 2011-03-30 | 1382 | 0 |
| 494 | ci memo [8] | pam | 2011-02-20 | 1971 | 1 |
| 489 | CI 압축 프로그램 [2] | 준이 | 2010-12-27 | 1637 | 0 |
| 482 | 듬직이님의 헬퍼 ip 부분 추가. [0] | 나이유미 | 2010-11-22 | 1998 | 0 |
| 475 | SELECT() 사용 시 문제점 [2] | 마냐 | 2010-09-16 | 2742 | 0 |
| 473 | CI의 사용자 인증 소스파일 [2] | corean | 2010-09-12 | 3142 | 0 |
| 471 | CI 1.7.2 한글 언어팩 1.1 [1] | cleansugar | 2010-08-26 | 2221 | 0 |
| 470 | Upload 라이브러리 수정본 [0] | sisco | 2010-07-28 | 2398 | 0 |
| 464 | iScaffold [4] | 준이 | 2010-07-26 | 1981 | 0 |
| 458 | 이미지 등분하기_helper [0] | 마냐 | 2010-06-18 | 2226 | 0 |

