我需要在用户反馈中提供一个链接(通过 setFlash 方法)。所以在我的processForm()
功能,我想使用 link_to
但由于 symfony 严格的 MVC 政策,这将行不通。我尝试手动编写 <a href='#">somelink</a>
但随后按原样打印出来。
有什么解决办法?
最佳答案
您可以在 Controller 中访问“路由”。其实它有一个捷径的方法:
所以在你的行动中:
$url = $this->generateUrl('your_route_name', array(/* parameters */));
对 Symfony MVC 完全有效 :)
要在您的 Flash 中使用它,您可以执行以下操作:
$this->getUser()->setFlash('success_raw', 'Click <a href="'.$url.'">here</a>');
然后像这样在你的 View 中渲染:
echo $sf_user->getFlash('success_raw', ESC_RAW);
这最后一部分在输出中呈现任何 HTML 实体,因此请始终确保数据安全。如果它包含任何用户输入,您应该确保对其进行过滤。
关于php - symfony link_to 在行动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8487898/