Slim Framework可选参数路由

时间:2016-09-22 14:59:29

标签: php slim fastroute

我是php的新手,我正在使用Slim Framework开发一个简单的Rest Api。

根据文档,Slim使用FastRoute

我有一条带有可选参数(供应商和数量)的路线:

path/items/{id}/{name}/{price}[/{vendor}[/{quantity}]]

问题在于,如果我将供应商留空,则数量的值会转到供应商,而数量将不会被填充。我明白,通过快速路线,我无法做到这一点。但是,我该怎么办呢?

  1. 我可以使用快速路线吗?
  2. 我可以用Slim做到吗?
  3. 是否有另一个我可以实现我想要的框架?
  4. 我应该只使用查询字符串吗? (我认为这就是答案,但我需要有更多知识的人的帮助。)
  5. 谢谢。

1 个答案:

答案 0 :(得分:1)

如果您要使用可选参数,这些参数类型相同且可以按任何顺序发送,您可以使用查询字符串,也可以使用固定格式添加0之类的内容而不是省略它。未设置“vendor”的示例:

/10/somename/15/0/12

然后参数在URL /路由中不是可选的,但您可以在控制器中处理它,如果参数为零则忽略它们。