我正在构建一个小的restful api,我问是否可以将url分隔到php文件和url的结尾。
E.g。 www.mydomain.com/api/parameter/1/2/
在这种情况下,php文件的格式为www.mydomain.com/api/
或www.mydomain.com/api/index.php
,parameter/1/2/
是参数。
我想要一个CRUD接口,以便没有参数的GET获取所有数据的列表。为此,我需要检查是否附加了参数并提取参数。
其他例子
www.mydomain.com/topics/
=>获取所有主题
www.mydomain.com/topics/1/posts/
=>获取主题1的所有帖子,
www.mydomain.com/topics/1/posts/2/
=>获得主题1的第2篇
我的问题是:它是否可能以及如何?
答案 0 :(得分:1)
您可能必须使用$_SERVER['request_uri']
从网址末尾读取请求URI。这将返回/api/parameter/1/2
。然后,如果长度可靠,则可以对其进行子串,或者使用带有preg_match
的正则表达式来获取参数部分。 e.g。
preg_match("parameter\/.*", $_SERVER['request_uri'], $matches)
会返回$ matches变量中的字符串parameter/1/2
,如果找不到匹配则返回false
但是,就像其他人说的那样,如果可以的话,你可能更好地使用GET参数,并且只需使用isset()
进行检查以查看是否有任何参数。