Oak Oak - 1 year ago 116
PHP Question

Slim Framework Optional Params Routes

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:


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?

  1. Can I do it with fast routes?

  2. Can I do it with Slim?

  3. Is there another framework that I can achieve what I want?

  4. Should I use only query strings? (I think that is the answer, but I need a help from someone with more knowledge).

Thank you.

Answer Source

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:


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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download