我正在使用Restler开发REST API,我需要从iAuthenticate实现中获取所请求的服务。
到目前为止,我已经设法到达这里:
$m = preg_match('/.+?\/(?P<api>.+?)\/(?P<service>\w+)/', $_SERVER['REQUEST_URI']);
和$_SERVER['REQUEST_URI']
的格式为:/somedir/apiclass/requestedservice?...
我在这里尝试了我的正则表达式:http://www.spaweditor.com/scripts/regex/index.php和我的实际uri 它完美无缺。当我尝试在我的iAuthenticate实现中解析请求URL时,它就无法工作。
有人知道如何在restler iAuthenticate实现中启用regex吗?如何在Restler中显示错误而不是空白页?
谢谢!
[编辑]
我没有传递变量来存储匹配对象,preg_match
收到第三个参数来存储它,只返回一个布尔值。案件结案。
答案 0 :(得分:1)
我终于解决了这个问题:
preg_match('/.+?\/(?P<api>.+?)\/(?P<service>\w+)/', $_SERVER['REQUEST_URI'], $mo);
$api = $mo['api'];
$service = $mo['service'];