当我使用第一个逻辑时,我定义了更新配置文件逻辑的路由。它不起作用,但使用第二个逻辑可以正常工作。所以我不知道两者之间有什么区别。
1. Route::post('/profile', 'ProfileController@update');
2. Route::post('/profile', 'ProfileController@update')->name('profile');
答案 0 :(得分:1)
它们之间的唯一区别是名称,
因此,如果您进行表单操作,例如{{ route('profile') }}
,则意味着:转到具有名称配置文件的路由。
阅读this了解更多详细信息。
答案 1 :(得分:1)
名称为Route::post('/profile', 'ProfileController@update')->name('profile');
{{route('profile')}}
在刀片中访问
而另一个只能使用url()访问。例如
{{url('/profile')}}
答案 2 :(得分:0)
第二个是“命名路线”。它允许您通过名称来引用您的路线。
答案 3 :(得分:0)
明显的区别是在第二行添加了“-> name('profile')”命名路由。您已用laravel-5.7标记了此帖子,因此我已链接了该版本的文档:https://laravel.com/docs/5.7/routing#named-routes
在我看来,也许您在ProfileController的更新功能中有一些逻辑,如下所示:
if ($request->route()->named('profile')) {
//
}
这将更改请求的结果。希望这对您有帮助,最好的问候。