Php Laravel 5.6-路由资源的共享名称

Php Laravel 5.6-路由资源的共享名称,php,laravel-5,routes,Php,Laravel 5,Routes,在创建管理菜单时,我想知道如何设置活动类项。如果控制器正在显示、编辑或执行其他操作,菜单项必须保持活动状态 sidebar.blade.php <li class="nav-item"> <a class="nav-link {{ (Route::current()->getName() == 'posts' ? 'active' : '') }}" href="/admin/posts">Posts</a> </li> 如何为所有

在创建管理菜单时,我想知道如何设置活动类项。如果控制器正在显示、编辑或执行其他操作,菜单项必须保持活动状态

sidebar.blade.php

<li class="nav-item">
    <a class="nav-link {{ (Route::current()->getName() == 'posts' ? 'active' : '') }}" href="/admin/posts">Posts</a>
</li>
如何为所有资源(索引、创建、显示等)设置共享名称

我本想做点像这样的事,但是

Route::resource('/admin/posts', 'Admin\PostController')->name('posts');

感谢您为资源路由命名

默认情况下,所有资源控制器操作都有一个路由名称;但是,您可以通过使用选项传递名称数组来覆盖这些名称:


您可以在中找到更多选项。

命名资源路由

默认情况下,所有资源控制器操作都有一个路由名称;但是,您可以通过使用选项传递名称数组来覆盖这些名称:


您可以在中找到更多选项。

我可以为所有操作设置相同的名称吗?这是一个好主意吗?每个路由的名称应该是唯一的,但是有一个共同的前缀来对它们进行分组。我可以为所有操作设置相同的名称吗?这是一个好主意吗?每个路由的名称应该是唯一的,但有一个共同的前缀来对它们进行分组。您可以使用
@if(route::Is('posts'))active@endif
作为上述检查的简写。它还支持通配符:
@if(Route::is('admin.*)active@endif
,它将匹配以
admin.
前缀开头的所有路由。@Namoshek exellent!这正是我想要的。你可以使用
@if(Route::is('posts'))active@endif
作为上面检查的简写。它还支持通配符:
@if(Route::is('admin.*)active@endif
,它将匹配以
admin.
前缀开头的所有路由。@Namoshek exellent!那正是我想要的
Route::resource('/admin/posts', 'Admin\PostController')->name('posts');
Route::resource('photos', 'PhotoController')->names([
    'create' => 'photos.build'
]);