php - symfony link_to 在行动

标签 php model-view-controller symfony1 symfony-1.4 link-to

我需要在用户反馈中提供一个链接(通过 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/

相关文章:

php - 从 php 调用 js 函数时出现问题

带有索引和键的 php array_push

model-view-controller - 什么是数据传输对象 (DTO)?

php - 如何编写在后台运行的异步 web 服务 php

javascript - jQuery 验证和 AJAX 提交表单如何编写 e.preventDefault();

php - 从数据库填充数组

asp.net-mvc - MVC OutputCache for Child Actions : where is it stored?

php - 带有RESTful API,多个模型和共享 View 的MVC Controller

php - 脚本头过早结束 : php5 Symfony produces internal server error 500

php - Symfony/Propel 1.4 : Read from one, 写入其他数据库