gpt4 book ai didi

php - 何时使用 : redirect ('/' ) vs. redirect()->route ('home' ) vs. redirect()->home()?

转载 作者:行者123 更新时间:2023-12-04 02:01:28 25 4
gpt4 key购买 nike

当我有这个命名路线时:Route::get('/', 'IndexController@index')->name('home');
然后在任何 Controller 的任何 Action 方法中;当我需要重定向到指定的回家路线时;这些语句中的任何一个都会正确重定向到预期的路线:
return redirect('/');return redirect()->route('home');return redirect()->home();
什么时候使用?
有什么区别?
使用一个比其他的有什么好处吗?

最佳答案

documentation提到 :

When you call the redirect helper with no parameters, an instance of Illuminate\Routing\Redirector is returned, allowing you to call any method on the Redirector instance. For example, to generate a RedirectResponse to a named route, you may use the route method



正如您在 API 方法(下面的链接)中所见,您可以使用很多方法,并且还有一种特定的辅助方法 home()它只是 @ceejayoz 突出显示的 redirect()->route('home') 的快捷方式。

现在我们要讲的 return redirect('/');return redirect()->route('home');正如你所说,他们两个正确地重定向到预期的路线 但是 如果在 future ,第二个真的很有用。

为什么 ?

因为如果您想更改路由文件中的 URL 结构,您只需要更改路由,例如:
Route::get('/', 'IndexController@index')->name('home');

将会 :
Route::get('/home_page', 'IndexController@index')->name('home');

并且所有重定向都将引用该路由,您无需更改其他任何内容 => 所有重定向仍然可以正常工作。

但是

如果您选择使用第一个(我的意思是 return redirect('/');),那么在路由更改后,您将需要解析所有 Controller 以检查是否有一些重定向使用然后更改的路由并更改它们:p

关于php - 何时使用 : redirect ('/' ) vs. redirect()->route ('home' ) vs. redirect()->home()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com