我正在尝试从 ZF REST URL 中提取 GET 参数。这不是当前请求,我不想调用 URL 或执行路由,我只需要参数。我正在寻找类似 parse_url() 的实用函数,但用于 Zend REST 格式。有没有,还是我必须重新发明轮子?
我已经尝试了一些方法,比如创建一个新的 Zend_Controller_Request_Http,但是没有填充参数。这是一个有效的 HTTP URL。
编辑:根据要求,示例 Zend URL:
http://localhost/index/index/param1/foo/param2/bar
所以我只是想从这个 URL 中获取 param1 和 param2。
编辑 #2:我试过了,但它似乎不起作用:
$request = new Zend_Controller_Request_Http('http://localhost/home/test/param1/foo/param2/bar');
$front = Zend_Controller_Front::getInstance();
$route = new Zend_Rest_Route($front);
var_dump($route->match($request));
最佳答案
$uri = Zend_Uri::factory( $yourUrl )
' 怎么样?参见 Zend_Uri .
编辑:
啊,我现在明白你的意思了。在那种情况下,我相信您应该尝试 Gordon 的建议。通过路由的 match
方法运行您的 url。
可能有一种从路由器检索路由的方法(虽然不确定):
$route = Zend_Controller_Front::getInstance()
->getRouter()
->getRoute( 'theRouteName' );
然后做类似的事情:
$params = $route->match( $yourUrl );
.. 这应该给你一个参数数组。
关于php - 如何解析参数的 Zend URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2458539/