Я в настоящее время маршрут Zend Framework, определенный как таковой не совпадают другой маршрут, который использует слова в том же месте без два противоречащих друг другу что-то вроде:Zend Regex маршрутизатор ничего
brand/:brand_name/series/:series_name/:page
я вычислял я вмешается вместе с примерами в документации ZF here. Самый первый шаг должен был бы изменить маршрут, чтобы что-то вроде этого:
$route = new Zend_Controller_Router_Route_Regex('brand/:brand_name/series/(\d+)',
array('controller' => 'brand',
'action' => 'series'));
Однако это небольшое изменение приводит к маршрутам, которые соответствовали совершенно перед, как /brand/johnnycupcakes/series/2
на провал, говорит мне Action "johnnycupcakes" does not exist and was not trapped in __call()
. И в трассировке стека я вижу:
'controller' => 'brand',
'action' => 'johnnycupcakes',
'series' => '2',
'module' => 'default'
В самом деле, даже если я оставить маршрут и по умолчанию параметры точно такие же, как и в первом примере, и просто изменить класс к Router_Route_Regex, я получаю ту же ошибку.
Я знаю, что ошибка не является конфликтом маршрутизации, потому что я не добавил маршрут, который бы противоречил. Кроме того, похоже, что он пытается соответствовать стандартным маршрутам. Я тестирую это на версии 1.11, поэтому моя версия должна быть полностью совместима с кодом в примере.
Насколько я могу судить, маршрут регулярного выражения просто не подходит, несмотря на то, что он очень четко подходит. Почему это может быть неудачно?
EDIT: Я опустил addRoute из вопроса в первый раз. У меня всегда было это в коде, это не проблема.
Я пробовал это, и это не имеет значения. Точка именования параметров заключается в том, чтобы облегчить их работу, но не имеет значения, не совпадает ли маршрут с таковым. Отображение из трассировки стека показывает, что маршрут даже не сопоставляется, и он пытается применить стандартную маршрутизацию к моему URL-адресу. – jaimerump
@jaimerump Вы действительно связали маршрут с маршрутизатором? –
Да, следующая строка - addRoute. Я отредактирую вопрос, чтобы показать, что я включил его. – jaimerump