douluohan3403 2019-01-23 15:21
浏览 234
已采纳

如何在PHP中处理动态路由?

I'm creating an API via PHP. I need to let users see a particular user. For example if someone goes to mysite.com/users/2, he must get the data about the user with id=2.

This is my .htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_URI} !\.css$
RewriteRule ^([-/_a-zA-Z0-9\s]*)$  index.php?url=$1 [QSA,L]

The variable $url in index.php contains the whole url (for example users/2)

I use something like if($url == "users"){ //code } for routes, but what can I do with id that can be various?

  • 写回答

2条回答 默认 最新

  • dongling3243 2019-01-23 15:32
    关注

    Since you have everything in $url, you can just use explode()

    Here's an example:

    $url = "users/1234";
    $url_array = explode("/", $url, 2);
    echo $url_array[1]; 
    

    This doesn't handle any errors, and as you stated in the comments, you'd need to implement those. So, unless this is a very small project it does seem safer, more maintanable, faster, etc. to use a framework like Laravel, or perhaps a micro-framework Lumen or Slim if you only need a few features.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?