PHP: Url 作为参数

PHP: Url as parameter

我正在构建一个小的 restful api,我想问一下是否可以将 url 到 php 文件和 php 的末尾分开=42=].

例如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 的所有 post,

www.mydomain.com/topics/1/posts/2/ => 获得主题 1post 2

我的问题是:是否可能以及如何实现?

您可能必须使用 $_SERVER['request_uri'] 从 URL 末尾读取请求 URI。这将 return /api/parameter/1/2。如果长度可靠,您可以对其进行子字符串化,或者使用带有 preg_match 的正则表达式来获取参数部分。例如

preg_match("parameter\/.*", $_SERVER['request_uri'], $matches)

将 return $matches 变量中的字符串 parameter/1/2,或者 false 如果未找到匹配项

但是是的,就像其他人所说的那样,如果可以的话,您最好使用 GET 参数,然后使用 isset() 检查一下是否有任何参数。