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

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.
主站蜘蛛池模板: 东光县| 姚安县| 海阳市| 偏关县| 颍上县| 双牌县| 丹棱县| 孟津县| 郓城县| 胶南市| 盘山县| 辽阳县| 梁河县| 商河县| 托克托县| 明星| 中西区| 吴川市| 金华市| 澳门| 兴安县| 来凤县| 汤原县| 富平县| 乌海市| 社会| 乾安县| 洪泽县| 张家界市| 周至县| 九台市| 大悟县| 班戈县| 正宁县| 山西省| 建湖县| 西平县| 当阳市| 会昌县| 砚山县| 辉县市|