내 팔콘 앱은 표준 MVC 경로 규칙에 따라 잘 작동했습니다. 그러나, 나는 URL을 통해 몇 가지 변수를 처리하는, 그때 경로가 :팔콘 경로가 작동하지 않습니다.
$router = new \Phalcon\Mvc\Router();
$router->add("/timesheet/some/{year:[0-9]+}/{month:[0-9]{2}}/{day:[0-9]{2}}", "Timesheet::some");
$router->add("/timesheet/getreport/{type:[a-z]}/{year:[0-9]+}/{month:[0-9]{2}}/{day:[0-9]{2}}", "Timesheet::getreport");
$router->addPost("/user/auth", "User::auth");
return $router;
첫 번째 경로 (작업 표/일부) 괜찮 았는데, 내가 "년"에 액세스 할 수 있습니다, "달" 변수 을 사용하지만 두 번째 경로 (작업 표/getreport)가 작동하지 않습니다. 이 경우
$year = $this->dispatcher->getParam("year");
은 null을 반환합니다.내가
$ 라우터로 변경 한 경우 = 새 \ Phalcon \ MVC \ 라우터 (거짓);
$ 라우터 기반 추가> ("/ : 제어기/: 동작", 어레이 ( "제어기"=> 1 '액션'=> 2를 ));
$ router-> add ("/ timesheet/some/{year : [0-9] +}/{month : [0-9] {2}}/{day : [0-9] {2 }} ","Timesheet :: some "); $ router-> addPost ("/ timesheet/getreport/{type : [az]}/{년 : [0-9] +}/{month : [0-9] {2}}/{day : [0 -9] {2}} ","Timesheet :: getreport "); $ router-> addPost ("/ user/auth", "User :: auth");
return $ router;
모든 요청은 색인/색인으로 라우팅됩니다. 내 프로젝트 URL은 localhost/fpas이고 이미/fpas/timesheet/some 및/timesheet/some 경로를 모두 시도하지만 항상 색인/색인으로 리디렉션합니다. 그게 뭐가 잘못 됐어? (보안/인증은 주석 처리되었으므로 인증 결과가 아닙니다.)
- 내 기본 경로 인 $ router = new \ Phalcon \ Mvc \ Router(); $ router = new \ Phalcon \ Mvc \ Router (false)를 사용하는 동안에 만 MVC 규칙을 따르도록 허용합니다. 하지만 모든 컨트롤러/작업에 대한 모든 경로를 구체적으로 지정해야합니다. 대부분의 행동을 위해 컨벤션을 유지하면서 특정 행동에 대한 특정 경로를 다시 작성할 수 있습니까? 어떻게해야합니까?
대단히 감사합니다.