资源控制器的 Laravel 命名路由
问题描述
使用 Laravel 4.2,是否可以为资源控制器路由分配名称?我的路线定义如下:
Using Laravel 4.2, is it possible to assign a name to a resource controller route? My route is defined as follows:
我尝试像这样向路线添加名称选项:
I tried adding a name option to the route like this:
但是,当我点击/faq 路线并将 {{ Route::currentRouteName() }}
放在我的视图中时,它会产生 faq.faq.index
只是faq
.
However, when I hit the /faq route and place {{ Route::currentRouteName() }}
in my view, it yields faq.faq.index
instead of just faq
.
推荐答案
当您使用资源控制器路由时,它会自动为其创建的每个单独的路由生成名称.Route::resource()
基本上是一个帮助方法,然后为您生成单独的路由,而不是您需要手动定义每个路由.
When you use a resource controller route, it automatically generates names for each individual route that it creates. Route::resource()
is basically a helper method that then generates individual routes for you, rather than you needing to define each route manually.
您可以在终端/控制台中查看通过在 Laravel 4 中输入 php artisan routes
或在 Laravel 5 中输入 php artisan route:list
生成的路由名称.您还可以在资源控制器文档页面 (Laravel 4.x | Laravel 5.x).
You can view the route names generated by typing php artisan routes
in Laravel 4 or php artisan route:list
in Laravel 5 into your terminal/console. You can also see the types of route names generated on the resource controller docs page (Laravel 4.x | Laravel 5.x).
有两种方法可以修改资源控制器生成的路由名称:
There are two ways you can modify the route names generated by a resource controller:
提供一个
names
数组作为第三个参数$options
数组的一部分,每个键都是资源控制器方法(索引、存储、编辑等).),并且值是您要为路线提供的名称.
Supply a
names
array as part of the third parameter$options
array, with each key being the resource controller method (index, store, edit, etc.), and the value being the name you want to give the route.
指定 as
选项以定义每个路由名称的前缀.
Specify the as
option to define a prefix for every route name.
这将为您提供诸如 prefix.faq.index
、prefix.faq.store
等路由.
This will give you routes such as prefix.faq.index
, prefix.faq.store
, etc.
这篇关于资源控制器的 Laravel 命名路由的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!