這兩個:
return redirect()->route('...');
return route('...');
似乎做同樣的事情。有理由不使用較短的形式嗎?
uj5u.com熱心網友回復:
路線()
它的輔助函式,它生成一個命名路由的 URL。如果你看到源代碼
if (! function_exists('route')) {
/**
* Generate the URL to a named route.
*
* @param array|string $name
* @param mixed $parameters
* @param bool $absolute
* @return string
*/
function route($name, $parameters = [], $absolute = true)
{
return app('url')->route($name, $parameters, $absolute);
}
}
重定向()->路由()
這redirect()是Redirector class.
if (! function_exists('redirect')) {
/**
* Get an instance of the redirector.
*
* @param string|null $to
* @param int $status
* @param array $headers
* @param bool|null $secure
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
function redirect($to = null, $status = 302, $headers = [], $secure = null)
{
if (is_null($to)) {
return app('redirect');
}
return app('redirect')->to($to, $status, $headers, $secure);
}
}
redirect()->route()為命名路由創建新的重定向回應。
/**
* Create a new redirect response to a named route.
*
* @param string $route
* @param mixed $parameters
* @param int $status
* @param array $headers
* @return \Illuminate\Http\RedirectResponse
*/
public function route($route, $parameters = [], $status = 302, $headers = [])
{
return $this->to($this->generator->route($route, $parameters), $status, $headers);
}
在這里,如果您看到源代碼,那么您可以選擇設定狀態代碼和標頭,但在這種情況下route()只能生成指向命名路由的 URL。
為了更好地理解,如果你dd(redirect()->route('home'));

如果你dd(\route('home'));那么它的普通網址。

uj5u.com熱心網友回復:
return redirect()->route('...');
它將用戶重定向到特定路線
return route('...');
將回傳特定路線(鏈接)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/505692.html
