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


Symfony routing to external site including session value

我正在移植一个使用Symfony框架的遗留系统。我对赛姆丰几乎没有任何经验。

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

这是当前的routing.yml代码

mysystemtool:
  url:   /:module/mysystemtool/tool/*
  param: { action: mysystemtool }

我需要重定向到像http://thirdpartyurl.com/?session_param=session_value 这样的url

知道怎么做吗?

您不能单独路由,因为路由只针对内部内容。也就是说,你可以在控制器中重定向:

public function executeMysystemtool(sfWebRequest $request) {
    $param = $this->getUser()->getAttribute('session_param', 'default_value');
    $this->redirect('http://thirdpartyurl.com?session_param='.$param);
}

当然,你需要在一个模块中设置actions.class.php,这样你就可以对这个动作进行编码,但如果它是一个现有的动作,那么你只需要改变动作中的逻辑。