CI 코드

제목 HMVC for 3.0-dev 두번째 버젼
글쓴이 letsgolee 작성시각 2014/03/26 09:08:01
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 15215   RSS
안녕하세요. 전에 올린 코드를 더 분석하여 수정한 버젼입니다.

처음버젼은 index.php와 CodeIgniter.php를 수정하였는데요, 이번 버젼은 수정하지 않아도 됩니다. 즉 원본 파일을 손대지 않아도 됩니다. 그 원인을 찾아 수정했습니다. 

설치는 압축된 파일을 풀어서 있어야 할 위치에다 두면 됩니다. 그리고 codeigniter 3.0-dev버젼은 수정하지 않은 것으로 그대로 사용하면 되구요. 

다만 HMVC버젼이 Form_validation과 한가지가 호환이 되지 않습니다. 이것은 원래의 코드 역시 그러합니다. 그 해결책으로 wiredesignz에서 제시한 걸 그대로 하면 됩니다. application/libraries폴더에 해당 MY_Form_validation.php를 미리 만들어 놓았습니다.

호환이 안되는 부분이란 HMVC 모듈을 사용하려면 컨트롤러가 MX_Controller를 상속받게 되고 이것은 원래의 CI_Controller가 아니므로 Form_validation에서 콜백함수를 사용하는 부분이 있다면 콜백 함수가 MX_Controller안에 있는 함수를 불러오지 못합니다. 따라서 HMVC를 사용하면서 Form_validation에서 콜백함수를 써야 한다면 다음과 같이 Form_validation을 로드해야 합니다.
[code]
$this->load->library('Form_validation');
$this->form_validation->CI =& $this;
[/code]
만일 콜백함수를 사용하지 않는다면 위의 코드에서 두번째 줄은 안해도 됩니다. 콜백함수를 사용해야 한다면 반드시 해야하구요.

이로써 wiredesignz의 HMVC 모듈러의 버그를 다 찾은 것 같은 생각이 듭니다.
첨부파일 hmvc-codeigniter-3.0-dev_.zip (18.2 KB)
 다음글 네이버 쇼핑 검색 API (1)
 이전글 Pushwing 코드이그나이터 라이브러리 (2)

댓글

변종원(웅파) / 2014/03/26 10:57:50 / 추천 0
공개 감사합니다. ^^
한대승(불의회상) / 2014/03/26 11:30:24 / 추천 0
좋은 정보와 자료 진심으로 감사 드립니다.
양승현 / 2014/04/14 11:52:24 / 추천 0
감사합니다. 많은 도움이 될것 같습니다.
letsgolee / 2014/05/29 08:58:57 / 추천 0
이 버젼에 대해 몇가지 알려드리면 원 소스 저자는  wiredesignz의 hmvc모듈입니다. 그런데 codeigniter 3.0부터 core파일에 수정이 있어왔고 또 wiredesignz의 모듈 안에 버그로 인하여 wiredesignz에서 제공하는 hmvc 는 3.0과 호환되지 않습니다. 3.0에 hmvc를 쓰고자 하는 사람들을 위해 버그를 잡고 또 codeigniter의 core 파일 수정에 맞게 hmvc를 제작하였기 때문에 이 파일은 codeigniter 2.1.4과는 맞지 않습니다. 2.1.4를 쓰는 분은 원 저자의 것을 다운받아 사용하면 됩니다.

착오 없기를 바라겠습니다. 제목도 제가 HMVC for 3.0dev라고 분명히 밝혔음을 주의하세요.