Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php larvel:Route::get(';login';,';IndexController@Login&#)->;姓名(';登录名';);_Php_Laravel - Fatal编程技术网

Php larvel:Route::get(';login';,';IndexController@Login&#)->;姓名(';登录名';);

Php larvel:Route::get(';login';,';IndexController@Login&#)->;姓名(';登录名';);,php,laravel,Php,Laravel,我是新来的。我已经使用下面的行作为登录页面 Route::get('login','IndexController@Login')->name('login'); 这里->name('login')是使用每条路线所必需的吗?这是什么意思 任何想法请分享。这不是每个路由所必需的,它允许您命名路由/控制器操作,以便您以后参考 这允许您执行诸如在重定向中引用路由之类的操作,这在路由的URL结构发生更改时非常有用,您的代码不会中断,因为它引用的是名称而不是路由本身 // Generating U

我是新来的。我已经使用下面的行作为登录页面

Route::get('login','IndexController@Login')->name('login');
这里
->name('login')
是使用每条路线所必需的吗?这是什么意思


任何想法请分享。

这不是每个路由所必需的,它允许您命名路由/控制器操作,以便您以后参考

这允许您执行诸如在重定向中引用路由之类的操作,这在路由的URL结构发生更改时非常有用,您的代码不会中断,因为它引用的是名称而不是路由本身

// Generating URLs...
$url = route('profile');

// Generating Redirects...
return redirect()->route('profile');

中找到更多有关命名路由的信息,您可以在刀片文件中编写类似的内容

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

而不是

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


因此,如果URL在某个时刻发生更改,那么如果您使用route helper定义它,则不必更改刀片文件中的任何内容。

您可以以不同的方式使用路由,并具有不同的优势

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

缩写为
->name('login')


嗯,您可以跳过
->名称(“登录”)
。但是如果你的表单需要指定URL

例如,

路线是,

Route::get('login','IndexController@Login');
但是,如果您在不同的视图中有4-5个登录表单用于不同的目的,并且将来您决定将
登录
URL重命名为
登录
,该怎么办

那么,您必须访问每个表单并更改它们的
action
属性值

相反,如果您使用
->name('login')
,那么您的表单将

路线是,

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

现在,如果您决定将路由文件中的url从
login
更改为
signin
,那么您只需将其更改,laravel将负责表单的url

像这样,

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


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

不,这不是必需的,它只是传统URL的一种替代方法。请看这里,谢谢Sohel,但我注意到@if(Route::has('login'))在没有该名称的情况下无法工作。谢谢这个参考链接。我得到了这个概念。使用can
Request::is('/login')
代替谢谢,超级示例