symfony link_to在行动中

pro*_*ngs 4 php model-view-controller symfony1 link-to symfony-1.4

我需要在用户反馈中提供一个链接(通过setFlash方法).所以在我的processForm()函数中,我想使用link_to但由于symfony严格的MVC策略而无法使用.我尝试手动书写<a href='#">somelink</a>然后按原样打印.

有什么方法可以解决这个问题?

Gra*_*rck 6

您可以访问控制器中的"路由".实际上,它有一个快捷方法:

所以在你的行动中:

$url = $this->generateUrl('your_route_name', array(/* parameters */));
Run Code Online (Sandbox Code Playgroud)

对Symfony MVC完全有效:)

要在闪存中使用此功能,您可以执行以下操作:

$this->getUser()->setFlash('success_raw', 'Click <a href="'.$url.'">here</a>');
Run Code Online (Sandbox Code Playgroud)

然后在你的视图中渲染如下:

echo $sf_user->getFlash('success_raw', ESC_RAW);
Run Code Online (Sandbox Code Playgroud)

最后一部分在输出中呈现任何HTML实体,因此始终确保数据是安全的.如果它包含任何用户输入,则应确保对其进行过滤.