我正在尝试创建一个可以读取字符串中的通配符的 API 请求处理程序。理想的情况是这样的。
$myClass->httpGet('/account/[account_id]/list-prefs', function ($account_id) {
// Do something with $account_id
});
[account_id]
外卡在哪里。实际的 URI 如下所示:
http://api.example.com/account/123456/list-prefs
实际功能看起来像......
function httpGet($resource, $callback) {
$URI = urldecode(str_replace('/'.$this->API_VERSION, '', $_SERVER['REQUEST_URI']));
$match = preg_match_all('/\[([a-zA-Z0-9_]+)\]/', $resource, $array);
if ($resource /*matches with wildcards*/ $URI) {
// Do something with it.
}
...
}
我的问题是...
- 我无法弄清楚如何将函数中的字符串与 URI 匹配以调用回调。
- 如何使用 URI 中提供的值解析字符串(将 [account_id] 替换为 123456)。