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()
检查一下是否有任何参数。
我正在构建一个小的 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()
检查一下是否有任何参数。