如何将前缀添加到Laravel路线名称
我有这样的路线:
Route::resource('/admin/users', \App\Http\Controllers\AdminUsersController::class);
Route::resource('/admin/posts', \App\Http\Controllers\AdminPostsController::class);
Route::resource('/admin/categories', \App\Http\Controllers\AdminCategoriesController::class);
Route::resource('/admin/media', \App\Http\Controllers\AdminMediasController::class);
Route::resource('/admin/comment/replies', \App\Http\Controllers\CommentRepliesController::class);
Route::resource('/admin/comments', \App\Http\Controllers\PostCommentsController::class) ;
路线列表是否有
GET|HEAD admin/categories .................... categories.index › AdminCategoriesController@index
POST admin/categories .................... categories.store › AdminCategoriesController@store
GET|HEAD admin/categories/create ........... categories.create › AdminCategoriesController@create
GET|HEAD admin/categories/{category} ........... categories.show › AdminCategoriesController@show
PUT|PATCH admin/categories/{category} ....... categories.update › AdminCategoriesController@update
DELETE admin/categories/{category} ......categories.destroy › AdminCategoriesController@destroy
GET|HEAD admin/categories/{category}/edit ...... categories.edit › AdminCategoriesController@edit
GET|HEAD admin/comment/replies ................... replies.index › CommentRepliesController@index
POST admin/comment/replies ................... replies.store › CommentRepliesController@store
GET|HEAD admin/comment/replies/create .......... replies.create › CommentRepliesController@create
GET|HEAD admin/comment/replies/{reply} ............. replies.show › CommentRepliesController@show
PUT|PATCH admin/comment/replies/{reply} ......... replies.update › CommentRepliesController@update
DELETE admin/comment/replies/{reply} ....... replies.destroy › CommentRepliesController@destroy
GET|HEAD admin/comment/replies/{reply}/edit......... replies.edit › CommentRepliesController@edit
GET|HEAD admin/comments ........................... comments.index › PostCommentsController@index
POST admin/comments ........................... comments.store › PostCommentsController@store
GET|HEAD admin/comments/create .................. comments.create › PostCommentsController@create
GET|HEAD admin/comments/{comment} ................... comments.show › PostCommentsController@show
PUT|PATCH admin/comments/{comment} ............... comments.update › PostCommentsController@update
DELETE admin/comments/{comment} ............. comments.destroy › PostCommentsController@destroy
GET|HEAD admin/comments/{comment}/edit .............. comments.edit › PostCommentsController@edit
GET|HEAD admin/media .................................. media.index › AdminMediasController@index
POST admin/media .................................. media.store › AdminMediasController@store
GET|HEAD admin/media/create ......................... media.create › AdminMediasController@create
GET|HEAD admin/media/{medium} ........................... media.show › AdminMediasController@show
PUT|PATCH admin/media/{medium} ....................... media.update › AdminMediasController@update
DELETE admin/media/{medium} ..................... media.destroy › AdminMediasController@destroy
GET|HEAD admin/media/{medium}/edit ...................... media.edit › AdminMediasController@edit
GET|HEAD admin/posts ................................... posts.index › AdminPostsController@index
POST admin/posts ................................... posts.store › AdminPostsController@store
GET|HEAD admin/posts/create .......................... posts.create › AdminPostsController@create
GET|HEAD admin/posts/{post} .............................. posts.show › AdminPostsController@show
PUT|PATCH admin/posts/{post} .......................... posts.update › AdminPostsController@update
DELETE admin/posts/{post} ........................ posts.destroy › AdminPostsController@destroy
GET|HEAD admin/posts/{post}/edit ......................... posts.edit › AdminPostsController@edit
GET|HEAD admin/users ................................... users.index › AdminUsersController@index
POST admin/users ................................... users.store › AdminUsersController@store
GET|HEAD admin/users/create .......................... users.create › AdminUsersController@create
GET|HEAD admin/users/{user} .............................. users.show › AdminUsersController@show
PUT|PATCH admin/users/{user} .......................... users.update › AdminUsersController@update
DELETE admin/users/{user} ........................ users.destroy › AdminUsersController@destroy
GET|HEAD admin/users/{user}/edit ......................... users.edit › AdminUsersController@edit
GET|HEAD api/user ...............................................................................
方法可以将前缀 admin。
- 一种
- 我的 Admin.users.store
等每个资源路线又不执行此操作:
Route::resource('/admin/users', \App\Http\Controllers\AdminUsersController::class, ['names'=>['index'=>'admin.users.index']]);
I am having my routes like this:
Route::resource('/admin/users', \App\Http\Controllers\AdminUsersController::class);
Route::resource('/admin/posts', \App\Http\Controllers\AdminPostsController::class);
Route::resource('/admin/categories', \App\Http\Controllers\AdminCategoriesController::class);
Route::resource('/admin/media', \App\Http\Controllers\AdminMediasController::class);
Route::resource('/admin/comment/replies', \App\Http\Controllers\CommentRepliesController::class);
Route::resource('/admin/comments', \App\Http\Controllers\PostCommentsController::class) ;
and my route list is
GET|HEAD admin/categories .................... categories.index › AdminCategoriesController@index
POST admin/categories .................... categories.store › AdminCategoriesController@store
GET|HEAD admin/categories/create ........... categories.create › AdminCategoriesController@create
GET|HEAD admin/categories/{category} ........... categories.show › AdminCategoriesController@show
PUT|PATCH admin/categories/{category} ....... categories.update › AdminCategoriesController@update
DELETE admin/categories/{category} ......categories.destroy › AdminCategoriesController@destroy
GET|HEAD admin/categories/{category}/edit ...... categories.edit › AdminCategoriesController@edit
GET|HEAD admin/comment/replies ................... replies.index › CommentRepliesController@index
POST admin/comment/replies ................... replies.store › CommentRepliesController@store
GET|HEAD admin/comment/replies/create .......... replies.create › CommentRepliesController@create
GET|HEAD admin/comment/replies/{reply} ............. replies.show › CommentRepliesController@show
PUT|PATCH admin/comment/replies/{reply} ......... replies.update › CommentRepliesController@update
DELETE admin/comment/replies/{reply} ....... replies.destroy › CommentRepliesController@destroy
GET|HEAD admin/comment/replies/{reply}/edit......... replies.edit › CommentRepliesController@edit
GET|HEAD admin/comments ........................... comments.index › PostCommentsController@index
POST admin/comments ........................... comments.store › PostCommentsController@store
GET|HEAD admin/comments/create .................. comments.create › PostCommentsController@create
GET|HEAD admin/comments/{comment} ................... comments.show › PostCommentsController@show
PUT|PATCH admin/comments/{comment} ............... comments.update › PostCommentsController@update
DELETE admin/comments/{comment} ............. comments.destroy › PostCommentsController@destroy
GET|HEAD admin/comments/{comment}/edit .............. comments.edit › PostCommentsController@edit
GET|HEAD admin/media .................................. media.index › AdminMediasController@index
POST admin/media .................................. media.store › AdminMediasController@store
GET|HEAD admin/media/create ......................... media.create › AdminMediasController@create
GET|HEAD admin/media/{medium} ........................... media.show › AdminMediasController@show
PUT|PATCH admin/media/{medium} ....................... media.update › AdminMediasController@update
DELETE admin/media/{medium} ..................... media.destroy › AdminMediasController@destroy
GET|HEAD admin/media/{medium}/edit ...................... media.edit › AdminMediasController@edit
GET|HEAD admin/posts ................................... posts.index › AdminPostsController@index
POST admin/posts ................................... posts.store › AdminPostsController@store
GET|HEAD admin/posts/create .......................... posts.create › AdminPostsController@create
GET|HEAD admin/posts/{post} .............................. posts.show › AdminPostsController@show
PUT|PATCH admin/posts/{post} .......................... posts.update › AdminPostsController@update
DELETE admin/posts/{post} ........................ posts.destroy › AdminPostsController@destroy
GET|HEAD admin/posts/{post}/edit ......................... posts.edit › AdminPostsController@edit
GET|HEAD admin/users ................................... users.index › AdminUsersController@index
POST admin/users ................................... users.store › AdminUsersController@store
GET|HEAD admin/users/create .......................... users.create › AdminUsersController@create
GET|HEAD admin/users/{user} .............................. users.show › AdminUsersController@show
PUT|PATCH admin/users/{user} .......................... users.update › AdminUsersController@update
DELETE admin/users/{user} ........................ users.destroy › AdminUsersController@destroy
GET|HEAD admin/users/{user}/edit ......................... users.edit › AdminUsersController@edit
GET|HEAD api/user ...............................................................................
is there a way to add prefix admin. to every single route name:
- users.index would be admin.users.index
- users.store would be admin.users.store
and so on for every resource route without doing this:
Route::resource('/admin/users', \App\Http\Controllers\AdminUsersController::class, ['names'=>['index'=>'admin.users.index']]);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
惊讶地找不到副本,但是您可以简单地使用
路由器:: name()
方法。请注意,我使用router :: prefix()
方法:
重要的是要注意,
prefix()
方法是用于URL段的,因此插入斜线,name ()
只是一个通用前缀,不会添加任何形式的分离器。这就是为什么我在名称中包含了点的原因。如果愿意,可以使用
$ router
参数,而不是闭合内的立面。这只是您喜欢的个人喜好问题。例如:Surprised not to find a duplicate for this, but you can simply use a route group with the
Router::name()
method. Note I've done the same with the URL prefix using theRouter::prefix()
method:It's important to note that while the
prefix()
method is meant for a URL segment and so inserts the slash,name()
is just a generic prefixer and won't add separators of any kind. This is why I included the dot in the name.If you wish, you can use the
$router
parameter instead of the facade inside the closure. It is just a matter of personal preference which one you prefer. e.g.: