Laravel: route::get('login','IndexController@Login')->name('login');



我是Laravel的新手。我在登录页面上使用以下行,

Route::get('login','IndexController@Login')->name('login');

在这里->name('login')使用每条路线必不可少?那是什么使用?

任何想法请分享..

带有命名路由的您可以在刀片文件中写下类似的内容

<a href="{{ route('login') }}">Login</a>

而不是

<a href="/login">Login</a>

因此,如果URL应在某个时候更改,则不必使用路由助手定义刀片文件中的任何内容。

这并不是每个路线的必要条件,它允许您命名路由/控制器操作,以便稍后引用它。

这使您可以执行诸如重定向中的路由之类的事情,如果路由的URL结构更改,这很有用,您的代码不会断开,因为它引用了名称而不是路由本身。

// Generating URLs...
$url = route('profile');
// Generating Redirects...
return redirect()->route('profile');

在此处的文档中找到更多信息

您可以以不同的优势以不同的方式使用该路由

长,没有->name('login')

<a href="{{action('IndexController@Login', ['parameter' => $value])}}">Login</a>

简短,使用->name('login')

<a href="{{ route('login') }}">Login</a>

好吧,您可以跳过->name('login')。但是,如果您的表格必须指定URL。

例如,<form name="some-form" method="POST" action="/login">

和路线将是

Route::get('login','IndexController@Login');

但是,如果您在不同的视图中有4-5个登录表格出于不同的目的,并且将来您决定将login URL重命名为signin

好吧,然后您必须访问每种表格并更改其action属性值。

相反,如果您使用->name('login'),则您的表格将为

<form name="some-form" method="POST" action="{{ route('login') }}">

和路线将是

Route::get('login','IndexController@Login')->name('login');

现在,如果您决定将URL从路由文件中的login更改为signin,那么您只需要更改它,Laravel就会照顾您的表格URL。

这样,

Route::get('signin','IndexController@Login')->name('login');

就是这样!您不必担心表单值。

相关内容

  • 没有找到相关文章

最新更新