Zend路由——用Ampersands而不是斜杠从URL中抓取变量——Tapjoy


Zend Routing -- Grabbing Variables from URL with Ampersands and not Slashes - Tapjoy

我目前正在创建尝试与Tapjoy API集成的回调URL请求,其形式如下:

<callback_url>?snuid=<user_id>&currency=&mac_address=<mac_address>&display_multiplier=<display_multiplier>

然而,使用ZF1-Zend_Controller_Router_Route似乎依赖于由斜杠而非与号分隔的变量分隔。

这是我当前的路线代码

>     $router->addRoute( 'api-tapjoy', new Zend_Controller_Router_Route('api/tapjoy?snuid=:snuid&mac_address=:&mac_address&display_multiplier....etc.etc,
array('controller'=>'api', 'action' =>'tapjoy')));

每当我删除与号和初始问号,并用斜杠替换它们时,它就起作用了。如何在使用"与"符号时正确接收HTTP请求?

看起来我想明白了。它与"与号"answers"斜杠"等无关,而是我的Route没有正确创建。

ZF1网站上关于路由器的文档让我大吃一惊:

Zend_Controller_Router_Route构造函数中的第一个参数是将与URL匹配的路由定义。路线定义由用斜线("/")分隔的静态和动态部分组成性格静态部分只是简单的文本:作者。动态部件,称为变量的变量通过在变量前面加一个冒号来标记name::用户名。