Phalcon:接收带有问号的动作参数,或者如何从get方法中获取变量


Phalcon: recive action parametrs with a question mark OR how to get variables from GET method

我必须使用http GET方法从另一个服务器(令牌)接收信息。我可以在得到它的时候更改URL,所以我想我可以尝试将get作为这样一个操作中的参数:

start/tokenize/token?code=doekoedjorcfoehof

事实证明,在"?"之后被忽略。我还试图定义一条路线:

$di->getRouter()->add("/tokenize?code={code}", "Start::tokenize");

所以这也被忽略了。。。

我想"?"与apache mod_rewrite有关,是否可以使用特殊的mod_rerite规则检索GET?

Router组件无法从查询字符串进行路由,它只解析路由uri:

start/tokenize/token?code=doekoedjorcfoehof

该URL的路由如下:

$di['router'] = function() {
    $router = new Phalcon'Mvc'Router(false);
    $router->add('/start/tokenize/token', array(
        'controller' => 'tokenize',
        'action' => 'parse'
    ));
    return $router;
};

在您的控制器中:

<?php
class TokenizeController extends Phalcon'Mvc'Controller
{
    public function parseAction()
    {
        $code = $this->request->getQuery('code');
    }
}