感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
虽然不是很常见,你仍然可以很容易地通过forward()方法在内部转发到另一个控制器。与对用户浏览器的重定向不同,这种方法是产生一个“内部”子请求,然后调用定义好的控制器。forward()
方法返回Response
对象,这个Response对象是由那个新控制器返回的。
1 2 3 4 5 6 7 8 9 10 11 12 | public function indexAction($name)
{
$response = $this->forward('AppBundle:Something:fancy', array(
'name' => $name,
'color' => 'green',
));
// ... further modify the response or return it directly
// ... 进一步调整响应,或直接返回之
return $response;
} |
传递到这个方法的数组,成为了后续控制器的参数。目标控制器方法,看上去可能像下面这样:
1 2 3 4 5 | public function fancyAction($name, $color)
{
// ... create and return a Response object
// ... 创建并返回一个Response对象
} |
当为路由创建控制器时,fancyAction
的参数顺序不成为问题:因为匹配是通过参数名完成的。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。