CI 묻고 답하기

제목 codeigniter 3.0 + rest + hmvc 방향으로 개발하려는데 물리적 경로를 분리하고싶습니다..
글쓴이 yunii 작성시각 2016/09/05 13:36:32
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 15320   RSS

현재는 module_loaction을 수정하여

 

예를들어 http://domain/exmaple 로 접근하면

modules

----version1

-------exmaple

-----------controllers

--------------Example.php

-----------models

-----------views

이런 경로에 접근은 가능한데

 

REST ful 방식으로 표현하려면

 

http://domain/version1/example 으로 접근 시에 위의 경로에 접근이 가능해야 할텐데..

 

추가적으로 어떠한 설정을 만져야 uri로 접근시에 모듈안의 원하는 경로로 들어갈 수 있을지가 도무지 감이 안잡혀 질문올립니다..

 

혹은 제가 Rest ful의 물리적인 서버 분리에 대해 잘못 이해하고있는거 같기도하고..

 

 다음글 직접 작성한 컨트롤러 접속 시 404에러 문제입니다. (2)
 이전글 CI 데이터베이스 질문 (2)

댓글

변종원(웅파) / 2016/09/05 14:04:12 / 추천 0

보통 routes.php 파일에 들어온 주소를 어떤 컨트롤러로 매칭할지 라우팅 정보를 넣습니다.

version1/example ->  controlers/v1/example.php 로 연결되도록 설정할 수 있습니다.

yunii / 2016/09/05 14:26:58 / 추천 0

ㄴ hmvc를 적용하려다보니 물리적분리에서 완전 깜깜하네요 ..ㅜㅜ

 

routes.php --
$route['v1/example/users/(:any)/(:any)'] = 'exmaple/users/id/$1/date/$2'; // Example 4

$route['v1/(:any)'] = '$1'; // Example 4

----

 

config.php----

$config['modules_locations'] = array(
    APPPATH.'modules/version1/' => '../modules/version1/',
);

----

두가지를 수정하였는데 이거는 편법적인분리지 완전한 분리라고 보기가 어려워서..

v1로 접근시에는 modules의 vesion1 아래의 모듈들로 접근이 가능하고,,

v2로 접근시에는 modules의 vesion2 아래의 모듈들로 접근하게 물리적으로 모듈들을 나누고싶은데.. 어찌해야할까요 ㅜㅜ

yunii / 2016/09/05 15:31:34 / 추천 0

자문자답이 되어버렸지만..

hmvc를 적용하여 컨트롤러별 버전관리를 하려면

modules/api{module}/controllers{folder}/version1{folder}/Exmaple.php{controller}  

경로에 만들게 되었을시 접근은 http://domain/api{module}/version1{folder}/exmaple{controller}/{method} 방식으로 접근이 되네요, 

 

대신 실 경로를 보시면 아시겠지만.. hmvc방식인데 상당히 난잡한 경로가 되어버리는게 흠이네요..