这些路线有什么区别?
What is the difference between those routes?
我为更新配置文件逻辑定义路由,当我使用第一个逻辑时它不起作用,但使用第二个逻辑可以正常工作。所以我不知道它们之间有什么区别。
1. Route::post('/profile', 'ProfileController@update');
2. Route::post('/profile', 'ProfileController@update')->name('profile');
他们之间唯一的区别,名字,
所以如果你在表单操作中输入类似 {{ route('profile') }}
的内容,你的意思是:转到具有名称配置文件的路由。
阅读 this 了解更多详情。
第二个是'named route'。它允许您通过名称引用您的路线。
嗯,明显的区别是添加了“->name('profile')”命名路由到您的第二行。你用 laravel-5.7 标记了这个 post 所以我链接了这个版本的文档:https://laravel.com/docs/5.7/routing#named-routes
在我看来,您的 ProfileController 的更新函数中可能有一些逻辑,如下所示:
if ($request->route()->named('profile')) {
//
}
这会改变请求的结果。希望这对您有所帮助,此致。
名称为 Route::post('/profile', 'ProfileController@update')->name('profile');
的路线
可以在 blade 中使用 {{route('profile')}}
访问
而另一个只能使用 url() 访问。例如
{{url('/profile')}}
我为更新配置文件逻辑定义路由,当我使用第一个逻辑时它不起作用,但使用第二个逻辑可以正常工作。所以我不知道它们之间有什么区别。
1. Route::post('/profile', 'ProfileController@update');
2. Route::post('/profile', 'ProfileController@update')->name('profile');
他们之间唯一的区别,名字,
所以如果你在表单操作中输入类似 {{ route('profile') }}
的内容,你的意思是:转到具有名称配置文件的路由。
阅读 this 了解更多详情。
第二个是'named route'。它允许您通过名称引用您的路线。
嗯,明显的区别是添加了“->name('profile')”命名路由到您的第二行。你用 laravel-5.7 标记了这个 post 所以我链接了这个版本的文档:https://laravel.com/docs/5.7/routing#named-routes
在我看来,您的 ProfileController 的更新函数中可能有一些逻辑,如下所示:
if ($request->route()->named('profile')) {
//
}
这会改变请求的结果。希望这对您有所帮助,此致。
名称为 Route::post('/profile', 'ProfileController@update')->name('profile');
可以在 blade 中使用 {{route('profile')}}
而另一个只能使用 url() 访问。例如
{{url('/profile')}}