这些路线有什么区别?

时间:2019-10-08 05:42:40

标签: laravel routes laravel-5.7

当我使用第一个逻辑时,我定义了更新配置文件逻辑的路由。它不起作用,但使用第二个逻辑可以正常工作。所以我不知道两者之间有什么区别。

1. Route::post('/profile', 'ProfileController@update');
2. Route::post('/profile', 'ProfileController@update')->name('profile');

4 个答案:

答案 0 :(得分:1)

它们之间的唯一区别是名称, 因此,如果您进行表单操作,例如{{ route('profile') }},则意味着:转到具有名称配置文件的路由。

阅读this了解更多详细信息。

答案 1 :(得分:1)

名称为Route::post('/profile', 'ProfileController@update')->name('profile');

的路由 可以使用{{route('profile')}}在刀片中访问

而另一个只能使用url()访问。例如

{{url('/profile')}}

答案 2 :(得分:0)

第二个是“命名路线”。它允许您通过名称来引用您的路线。

Laravel 5.7 Docs - Routing - Named Routes

答案 3 :(得分:0)

明显的区别是在第二行添加了“-> name('profile')”命名路由。您已用laravel-5.7标记了此帖子,因此我已链接了该版本的文档:https://laravel.com/docs/5.7/routing#named-routes

在我看来,也许您在ProfileController的更新功能中有一些逻辑,如下所示:

if ($request->route()->named('profile')) {
    //
}

这将更改请求的结果。希望这对您有帮助,最好的问候。