2014-07-18 3 views
0

는 현재 CodeIgniter의 HMVC 노선

HMVC 응용 프로그램을 HMVC

를 사용하여 CodeIgniter의 응용 프로그램에서 작업하는

$route['finance/bill/add'] = 'finance/show_addBill'; 

$route['finance/transaction/add'] = 'finance/show_addTransaction'; 

$route['finance/(:any)'] = 'finance/$1'; 

$route['finance'] = 'finance'; 

응용 프로그램이 금융 컨트롤러가를 포함하는 자신의 routing.php 있습니다.

http://localhost/finance** it goes to **public function index(){} 

http://localhost/finance/transaction/add DOES NOT go to **public function show_addTransaction() {} 

http://localhost/finance/addTransaction DOES goes to **public function show_addTransaction() {} 

에 갈 때 작동하지 않는 이유는 위의 경로 나는 알아낼 수 없습니다 : S

답변

1

당신은 엄지 손가락의 매우 강한 규칙으로 (AN HMVC 응용 프로그램에서 경로를 정의해서는 안 -이 예외는 있지만 드물다). 라우팅은 자동으로

Modules 
- Finance 
- - Controllers 
- - - finance //should have index, add and an other generic functions. 
- - - transaction // transactions specific functions 
- - - bill // bill specific functions. 

-이 라인을 따라 :

당신은 같은 폴더 구조를 가져야한다

url/finance을 ->Modules/Finance/Controllers/Finance/Index()

url/finance/bill을 찾아 ->이 Modules/Finance/Controllers/Finance(.php)/Bill()를 찾습니다 FIRST 그 다음 Modules/Finance/Controllers/Bill(.php)/index()

그래서 당신의 sc enario, 당신은해야합니다

$route['finance/bill/add'] 

bill.php 컨트롤러 - class bill로 - class transaction와 - - 방법 add

$route['finance/transaction/add'] 

transaction.php 컨트롤러와 방법 add

$route['finance/(:any)'] 

아무튼 '로 존재하지 않는다 - 내가 말했듯이 URL 라우팅은 자동적이므로 당신은 th 전자 관련 컨트롤러 및 방법의 일이 index 방법

$route['finance'] 

간단한 finance.php 컨트롤러를 찾을 수 있습니다.