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

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.
主站蜘蛛池模板: 三河市| 黄浦区| 广宁县| 南平市| 石阡县| 库车县| 台南县| 都匀市| 肃宁县| 九龙坡区| 锡林郭勒盟| 东台市| 呼和浩特市| 龙门县| 洞头县| 普洱| 方山县| 云林县| 双流县| 乌鲁木齐县| 乡城县| 容城县| 乾安县| 麻栗坡县| 钦州市| 云林县| 永新县| 八宿县| 四平市| 仙游县| 凯里市| 营口市| 昌图县| 桃源县| 乐山市| 万全县| 大安市| 宜州市| 榕江县| 黑河市| 丰台区|