Symfony路由到外部站点,包括会话值

Mar*_*tin 1 php symfony1

我正在移植使用Symfony框架的遗留系统.我几乎没有Symfony的经验.

我需要覆盖到外部站点的操作的路由,并将会话值包括为参数.

这是当前的routing.yml代码

mysystemtool:
  url:   /:module/mysystemtool/tool/*
  param: { action: mysystemtool }
Run Code Online (Sandbox Code Playgroud)

我需要重定向到一个网址 http://thirdpartyurl.com/?session_param=session_value

知道怎么做吗?

pro*_*son 10

你不能路由它perse因为路由只是内部的东西.那说你可以在控制器中重定向:

public function executeMysystemtool(sfWebRequest $request) {

    $param = $this->getUser()->getAttribute('session_param', 'default_value');
    $this->redirect('http://thirdpartyurl.com?session_param='.$param);
}
Run Code Online (Sandbox Code Playgroud)

当然,您需要actions.class.php在模块中进行设置,以便可以对此操作进行编码,但如果是现有操作,则只需更改操作中的逻辑即可.