Hacker News new | ask | show | jobs
by adamors 4777 days ago
Or just split the $_SERVER['REQUEST_URI'] by '/' and map the request to pages.
2 comments

Imho, '/' should be used to map a specific resource, like a file or a collection of objects in the database.

URL arguments with '?' and '&' should specify a secondary "meta" mapping for things like sorting or filtering, that still acts on basically the same resource.

That's my opinion, as well. However, what about paginating things? A different page is a different set of the same type of object, so it's basically sorting and filtering, but you're returning different content.

    /posts/page/2

    /posts?page=2

    /posts?limit=25&offset=25
I like the third option because it allows the must functionality to the user if they so desire, but it kind of feels like a violation of the "only sorting and filtering" rule.
Yes, but that can still be a bit complex. I have used https://github.com/chriso/klein.php prior for doing exactly this, but it was a long time ago, the codebase now seems a bit more advanced, and mature.
url routing is one of those things about PHP frameworks I never really understood until I wrote my own. I think if you work with PHP, it's probably something you kind of should know how to do.