제목 | 디비로 동적 라우팅 구성하기. | ||
---|---|---|---|
글쓴이 | 방문넷 | 작성시각 | 2014/08/23 18:45:19 |
|
|||
routes.php를 자주쓰는 저로썬 매번 파일들어가서 고치기 구찮았는데 검색하다보니 좋은 팁이 있어서 공유코자합니다. 원문 : http://osvaldas.info/smart-database-driven-routing-in-codeigniter. 영어 울렁증이 있으신분들을 위해 바로 실전 투입을 하겠습니다~저도 영어 울렁증이지만 코드만봐도 올커니! 들 하실껍니다 일단 테이블을 생성해주세요~ CREATE TABLE `routes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `slug` varchar(255) NOT NULL, `controller` varchar(255) NOT NULL PRIMARY KEY (`id`), UNIQUE KEY `slug` (`slug`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 테이블을 생성후에 config/routes.php 파일을 손봐줍니당~ 아래의 코드를 입력해주세용 $route['default_controller'] = "main/welcome"; $route['404_override'] = ''; require_once (BASEPATH."database/DB".EXT); $db =& DB(); $query = $db->get('routes'); $result = $query->result(); foreach($result as $row): $route[ $row->slug ] = $row->controller; $route[ $row->slug.'/:any' ] = $row->controller."/$1"; endforeach; 자 참 쉽죠! 이제 사용법을 알려드리겠습니다. http://도메인/폴더/컨트롤러/메쏘드 간혹 코딩하시다보면 URI가 길어질수있는데 위에 예시로 적어둔 주소를 http://도메인/내가만든거 으로 라우팅 할려면 아까 만든 테이블에 내용을 입력해줍니다 slug -> 내가만든거 controller -> 폴더/컨트롤러/메쏘드 자 이제 브라우저를 열고 http://도메인/내가만든거 형식으로 입력하시면 라우트가 잘되는걸 보실수있습니다. HMVC사용하시는분들도 적용가능합니다. 이상 검색질을 통해서 얻어걸린 내용을 팁으로 올린 방문넷 물러나겠사옵니다~ |
|||
다음글 | 다국어를 디비와 파일 혼용으로 쓰기. (2) | ||
이전글 | php로 currying 구현 하기 (3) | ||
한대승(불의회상)
/
2014/08/25 09:02:47 /
추천
0
|
darkninja
/
2014/08/25 12:08:16 /
추천
0
routes.php 나 config.php 는
페이지가 열릴때 마다 불러오나요? config.php 에서 변할수 있는 상수를 읽어 들여서 설정하여 사용하면 좋을거 같은데 페이지마다 부하가 걸린다면 좀 그렇네요... 한번만 읽어 들이게 설정한다면 좋은 방법이 될 수 있겠습니다. |
변종원(웅파)
/
2014/08/25 13:39:04 /
추천
0
|
darkninja
/
2014/08/25 19:32:44 /
추천
0
조금씩 이해가 됩니다.
아직 적용할 만큼 코드가 정리가 안되서 수시로 갈아엎는 위기가 와서 ㅋ 필요해지면 감사히 써 먹겠습니다. |
방문넷
/
2014/08/25 20:13:48 /
추천
0
@불의회상 // 으흐흐.. require.js 라우팅 을 구글링 하다가 얻어걸린건데 괜찮은 방법이어서 냅다 가져왔습니다 ㅎㅎ
@darkninja // 웅파님께서 링크걸어주신 흐름을 보면 route 는 무조건거치게 되어 있습니당. 나중에 쓸모있을때 언제든지 가져다 쓰시면됩니다 ^^ |
좋은 정보 감사 합니다.