I'm new to php and I'm using Slim Framework to develop a simple Rest Api.
According to docs, Slim uses FastRoute.
I have a route with optional params (vendor and quantity) like that:
path/items/{id}/{name}/{price}[/{vendor}[/{quantity}]]
The problem is that if I leave vendor blank the value of quantity goes to vendor and quantity will not be filled. I understand that with fast routes I can't achieve that. But, how can I do it?
Thank you.
If you are going to have optional parameters, which are of the same types and can be sent in any order, you could either use query strings, or have a fixed format where you add something like 0 instead of omitting it. Example where "vendor" isn't set:
/10/somename/15/0/12
Then the parameters aren't optional in the URL/route but you can handle that in your controller instead, just ignoring them if the param is a zero.