在阅读documentation之后,我仍然对Laravel中的“命名路线”一无所知。
您能帮我理解吗?
Route::get('user/profile', function () {
//
})->name('profile');
Route::get('user/profile', 'UserProfileController@show')->name('profile');
它说:
为给定路由分配名称后,可以在生成URL或通过全局路由功能重定向时使用该路由的名称
我不明白句子第二部分关于生成URL或重定向的含义。
在上述示例中,profile
生成的URL是什么?我将如何使用它?
答案 0 :(得分:3)
在为路由添加名称后,可以使用route()
帮助程序来创建URL。
现在可以在您的应用程序中使用它。
例如,在刀片模板中,它可能类似于:
{{ route('profile') }}
这将使用应用程序URL和路由路径来创建URL。
答案 1 :(得分:3)
最好的资源就在这里:https://laravel.com/docs/5.8/routing#named-routes
您认为最常见的用例之一。假设您的发帖请求转到特定的路线,基本上没有命名的路线,您可以像这样简单地去存储任务
action="/task"
但是说,例如,您需要更新到/ task / store的路由,则需要在使用该路由的任何地方更新它。
但是请考虑您使用的是命名路由
Route::post('/task', 'TaskController@store')->name('task.store');
使用命名路线,您可以在视图中使用以下路线:
action="{{route('task.store')}}"
现在,如果您选择更新路线,则只需在路由文件中进行更改,然后将其更新为所需的任何内容即可。
Route::post('/task/now/go/here', 'TaskController@store')->name('task.store');
如果需要将参数传递给路由,可以将其作为参数传递给路由助手,如下所示:
route('task.edit', 1), // in resource specific example it will output /task/1/edit
所有视图示例均提供了使用刀片模板的功能。
答案 2 :(得分:1)
这是它的外观:
命名路线示例Waiting TE Optimization Acceptance
:
name('store');
Route::get('/store-record','YourController@function')->name('store');
是此处的命名路由。用store
定义另一种路线。这没有命名为路线:
route('store')
您可以使用Route::get('/store-record','YourController@function')
希望这会有所帮助