Zend Router,可变数量的URL部分

时间:2015-08-18 15:14:20

标签: zend-framework router

我在Zend Framework 1中使用路由。 目前我有许多嵌套类别,都显示在URL中。 URL可以是以下形式:

  • www.example.com/category/1-category/2-subcategory/3-subsubcategory
  • www.example.com/category/4-category/5-subcategory
  • www.example.com/category/6-category

更长..这里1是一个根类别,其中2个是孩子,3个是孙子。我只对URL中最后一个孩子的ID感兴趣,上面是3,5和6。

我找不到处理所有网址的好方法。

我在Bootstrap文件中声明了一些路由(仅显示路由,而不是完整的声明):

  • /类别/:C / A /:吨/:E / G:/:类别
  • /类别/:C / A /:T / E /:类别
  • /类别/:C / A /:吨/:类别
  • /类别/:C / A /:类别
  • /类别/:C /:类别

按此顺序,将使用发送到控制器的类别变量挑选正确的路线,从而获得我想要的结果。但是,所有声明都是相同的,占用了6行代码,只有一个变量不同。

这导致了一段非常丑陋的代码,但我找不到一种方法可以很好地编写代码。有一个很好的方式吗?

1 个答案:

答案 0 :(得分:0)

如果要在bootstrap中定义的路由数量少于可以使用*用于动态路由,但有时动态路由的用户友好性会降低。例如:

/category/:c/:category/*