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

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.
主站蜘蛛池模板: 同德县| 五莲县| 浮梁县| 蒙阴县| 肥西县| 如皋市| 兴安盟| 佛教| 军事| 安乡县| 清苑县| 剑河县| 博兴县| 平顺县| 增城市| 任丘市| 鄂尔多斯市| 沈阳市| 蒲江县| 凤山市| 潍坊市| 文昌市| 沁源县| 桐庐县| 营山县| 肃北| 岱山县| 驻马店市| 九寨沟县| 尉犁县| 沽源县| 浏阳市| 海南省| 于田县| 泽州县| 靖远县| 兰坪| 沁源县| 汉阴县| 咸宁市| 浙江省|