제목 | HMVC for 3.0-dev | ||
---|---|---|---|
글쓴이 | letsgolee | 작성시각 | 2014/02/10 17:46:41 |
|
|||
wiredesignz가 codeigniter 2.1.x용으로 개발한 HMVC를 3.0-dev에 맞게 수정한 버젼입니다.
원래의 wiredesignz의 소스는 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc 여기서 구할 수 있습니다.
제가 첨부한 파일을 일단 설명을 해야 도움이 될 것 같습니다. 현재 3.0-dev는 계속 수정되어 가고 있습니다.
먼저 첨부한 파일을 열어보면 다음과 같은 경로로 되어 있습니다.
+-- application
| |
| +-- core
| |
| +-- third_party
|
+-- index.php
실제 파일들은 third_party 안에 MX라는 폴더 안에 있구요, 그것을 돌아갈 수 있도록 core에 "MY_"로 시작하는 파일들이 있습니다.
제가 변경한 부분을 설명을 드립니다.
1. codeigniter 3.0버젼부터 Router.php의 _set_default_controller() 함수가 변경되어 주소가 모듈형으로 인식이 불가하게 바뀌었습니다. 따라서 이 부분에서 문제가 되는 부분을 주석처리하는 함수를 application/third_party/MX/Router.php에 넣었습니다.
2. 마찬가지로 Loader.php에도 미세한 변경이 있지만 원래 작동되어야 하나 안되어 소스를 일일이 확인하다, wiredesignz에서 제공하는 application/third_party/MX/Loader.php에 버그가 있음을 알았습니다. 그 버그를 처리해서 3.0에도 작동하게 수정하였습니다.
1번과 2번의 문제를 찾느라 며칠이 걸렸네요...
3. 3.0부터 core/CodeIgniter.php 역시 수정되어 더 이상 모듈과 작동이 안되도록 만들어졌기에 어쩔 수 없이 CodeIgniter.php파일을 수정해야만 했습니다. 그런데 코어는 되도록이면 수정하는 것을 원치 않기 때문에 꼼수를 부렸습니다. index.php파일을 수정하여 거기서 application/core/CodeIgniter.php파일이 존재하면 그 파일을 불러들이도록 수정했습니다. 따라서 codeigniter 3.0의 원본에서 수정된 파일은 index.php이고, 원본을 수정한 CodeIgniter.php파일이 application/core폴더에 있습니다. 이 파일들을 열어 비교해보면 어디가 변경되어 문제가 되는지 이해할 수 있을 겁니다.
|
|||
첨부파일 |
HMVC_for_3.0-dev_.zip (27.2 KB) |
||
다음글 | Naver 블러그 포스팅 라이브러리 (7) | ||
이전글 | 기본 모델입니다~ (4) | ||
letsgolee
/
2014/02/10 17:59:39 /
추천
0
3.0부터는 세션이 드라이브 형태로 작동합니다. 주의하세요...
|
변종원(웅파)
/
2014/02/10 19:27:32 /
추천
0
오랫만의 대박코드네요.
감사합니다. |