제목 | 좋은 아침입니다. | ||
---|---|---|---|
글쓴이 | ぷ~たろ | 작성시각 | 2009/08/04 11:30:40 |
|
|||
며칠을 고민하다가 그냥 처리했습니다. 글번호 596에 대한 저에 해결책. 해결책이기보다는 그냥 편법으로 목적에만 맞춰버렸습니다. CI의 Load.php 클래스를 그냥 손 봐버렸습니다. 아래에 소스로 바꾸고. 모델을 로드할 때는 컨피그 파일에서 base_modules 변수에 경로 지정하고 사용합니다. 전체적으로는 아직 문제는 발생안하고 공유모델에 접근 가능하고, 특정모델에도 접근가능합니다. function model($model, $name = '', $db_conn = FALSE) { if (is_array($model)) { foreach($model as $babe) { $this->model($babe); } return; } if ($model == '') { return; } // Is the model in a sub-folder? If so, parse out the filename and path. if (strpos($model, '/') === FALSE) { $path = ''; } else { $x = explode('/', $model); $model = end($x); unset($x[count($x)-1]); $path = implode('/', $x).'/'; } if ($name == '') { $name = $model; } if (in_array($name, $this->_ci_models, TRUE)) { return; } $CI =& get_instance(); if (isset($CI->$name)) { show_error('The model name you are loading is the name of a resource that is already being used: '.$name); } $model = strtolower($model); $liketeens_path = ''; //--> 여기서 지정한 경로가 인식가능하도록 손봤습니다. if ( ! file_exists(APPPATH.'models/'.$path.$model.EXT)) { if ( ! file_exists($CI->config->item('base_modules') . $model.EXT)) { show_error('Unable to locate the model you have specified: '.$model); } else { $liketeens_path = $CI->config->item('base_modules') . $model.EXT; } } else { $liketeens_path = APPPATH.'models/'.$path.$model.EXT; } if ($db_conn !== FALSE AND ! class_exists('CI_DB')) { if ($db_conn === TRUE) $db_conn = ''; $CI->load->database($db_conn, FALSE, TRUE); } if ( ! class_exists('Model')) { load_class('Model', FALSE); } //--> 여기서 지정한 경로가 인식가능하도록 손봤습니다. //require_once(APPPATH.'models/'.$path.$model.EXT); require_once($liketeens_path); $model = ucfirst($model); $CI->$name = new $model(); $CI->$name->_assign_libraries(); $this->_ci_models[] = $name; } |
|||
다음글 | 각각 디렉토리를 나눠도 되나요? (9) | ||
이전글 | Controller를 만들었는데 disallowed c... (3) | ||
변종원(웅파)
/
2009/08/04 12:22:25 /
추천
0
|
ci세상
/
2009/08/04 13:41:25 /
추천
0
좋은 정보 감사드립니다.^^
|
Loader.php를 직접 수정하지 마시고 application/libraries 에 Loader.php 라고 만드시면
코어를 건드리지 않고 원하시는 기능을 쓰실 수 있습니다.
나중에 코어가 업데이트 되도 코어만 업데이트 하시면 되거든요. ^^