2015-03-30 4 views
1

У меня возникают проблемы с прохождением param по url в Zend Framework 2. Например: Я хочу получить доступ к странице по URL-адресу, подобному этому: http://example.com/student/details/aaa он работает, но если мой URL, как это: http://example.com/student/details/1 это не работает, и я все еще получаю 404.Как передать параметры по url с Zend Framework 2

Я пытался следовать инструкциям из how to pass params using a route in Zend Framework 2?

Но она по-прежнему не работает.

вот мой module.config.php

'student' => array(
       'type' => 'segment', 
       'options' => array(
        'route' => '/student[/:action][/:id]', 
        'constraints' => array(
          'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 
          'id'  => '[a-zA-Z][a-zA-Z0-9_-]*', 
        ), 
        'defaults' => array(
          '__NAMESPACE__' => 'AppFeeder\Controller', 
          'controller' => 'Student', 
          'action'  => 'index', 
        ), 
       ), 
      ), 

И я использую этот $this->getEvent()->getRouteMatch()->getParam('id') в мой контроллер.

Может ли кто-нибудь мне помочь?

ответ

2

Вы используете неправильное правило маршрута для id, которое говорит, начинайте с алфавита, затем алфавит + номер + "_-".

'id'  => '[a-zA-Z][a-zA-Z0-9_-]*', 

Вместо этого вам необходимо изменить правило, которое говорит начинается с алфавита + число, то алфавит + номер + «_-»

'id'  => '[a-zA-Z0-9][a-zA-Z0-9_-]*', 
+0

Есть ли у вас какие-либо понятия, как передать две переменные в URL-адрес Зенд? – Seeker

Смежные вопросы