Other than readability, why would you use logical URIs?
Surely sending a GET request to /users (to get all users) is the same as /users.php
Surely sending POST to /users/dave with some data to update Dave is the same as /users.php?name=dave&phone=1234
You decide what to do based on the HTTP method, and then you pull apart the URI string anyway.
Logical URIs decouple client code from the implementation details of the server-side code. In your /users.php example, .php is an implementation detail. If I publish that URI as an endpoint, clients will depend on that specific PHP script. I won't be able to switch to a Java or .NET implementation without changing client code. (Or I'd have to do some really unsavory remappings on the server.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With