2016-06-21 4 views
0

젠드 프레임 워크의 라우팅에 문제가 있습니다.젠드 프레임 워크 라우팅 오류

'name' => array(
    'type' => 'Zend\Mvc\Router\Http\Segment', 
    'options' => array(
     'route' => '/site/:id/orders[/:page]', 
     'constraints' => array(
      'id' => '[0-9]*', 
      'page' => '[0-9]*' 
     ), 
     'defaults' => array(
      'controller' => 'Application\Controller\Site', 
      'action'  => 'action' 
     ), 
    ), 
), 

컨트롤러에 있습니다. (!)

$id = (int) $this->params()->fromRoute('id'); 

그리고 브라우저가이 오류를 반환 어떤 경우에는

- " 'ID'매개 변수 누락"하지만 내가 왜 모르겠어요.

누구든지이 문제에 대해 도움을 줄 수 있습니까?

+0

* "그리고 일부 (!)의 경우에 ..."* 당신은 줄 수 그 중 한 사례예요? 그렇지 않으면 당신을 도울 수 없게 될 것입니다 ... – Wilt

+0

이상하게 들리 겠지만 ID가 하나의 숫자로만 구성된 경우가 주로 있습니다. 그러나 어떤 경우에는 예를 들어 ID 33, 그것은 잘 작동하지 않습니다. 나는 정말로 모른다. – KRiSTiN

+0

이러한 URL을 질문의 예로 추가 할 수 있습니까? – Wilt

답변

0

경로 구성 ID가 경로에 있어야하므로 요청한 링크에 ID가 없습니다. id가 존재해야하므로 constrains도 'id'=> '[0-9] +'로 변경해야합니다.

는 또한 당신은 단지 ID를 얻을 것이다

$id=$this->params("id"); 

을 입력하여 컨트롤러의 ID를 얻을 너무