官术网_书友最值得收藏!

Redirecting from a Controller

In this chapter, we wrote a Controller that returns a render array. We know from the preceding chapter that this is picked up by the theme system and turned into a response. In Chapter 4, Theming, we will go into a bit more detail and see how this process is done. However, this render pipeline can also be bypassed if the Controller returns a response directly. Let's consider the following example:

return new \Symfony\Component\HttpFoundation\Response('my text');  

This will bypass much of that processing and return a blank white page with only the "my text" string on it. The Response class we're using is from the Symfony HTTP Foundation component.

However, we also have a handy RedirectResponse class that we can use, and it will redirect the browser to another page:

return new \Symfony\Component\HttpFoundation\RedirectResponse('node/1')  

The first parameter is the URL where we want to redirect. Typically, this should be an absolute URL; however, browsers nowadays are smart enough to handle a relative path as well. So, in this case, the Controller will redirect us to that path.

Typically, when returning redirect responses, you'll want to use a child class of RedirectResponse. For example, we have the LocalRedirectResponse and TrustedRedirectResponse classes which both extend from SecuredRedirectResponse. The purpose of these utilities is to ensure that redirects are safe.
主站蜘蛛池模板: 霍州市| 兴城市| 长泰县| 慈溪市| 四川省| 西宁市| 闻喜县| 柘荣县| 郧西县| 镇安县| 公主岭市| 克东县| 青阳县| 湖南省| 肥东县| 出国| 河东区| 藁城市| 耿马| 阿拉善右旗| 阿城市| 车险| 开江县| 梧州市| 盘锦市| 积石山| 阿瓦提县| 临泽县| 东台市| 绥江县| 金湖县| 西昌市| 定南县| 贡山| 老河口市| 馆陶县| 唐河县| 定兴县| 文成县| 定安县| 嘉峪关市|