Slim Framework 可选参数路由

Slim Framework Optional Params Routes

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

根据文档,Slim 使用 FastRoute.

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

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

问题是,如果我将 vendor 留空,quantity 的值将转到 vendor 并且数量将不会被填充。我知道通过快速路线我无法实现这一目标。但是,我该怎么做呢?

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

谢谢。

如果您要有可选参数,它们类型相同并且可以按任何顺序发送,您可以使用查询字符串,或者使用固定格式,在其中添加类似 0 的内容而不是省略它.未设置 "vendor" 的示例:

/10/somename/15/0/12

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