瘦框架可选参数路由


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中就不是可选的了,但是你可以在你的控制器中处理这个问题,如果参数为0就忽略它们。