Laravel Route Group Prefixing and Breadcrumbs


Laravel Route Group Prefixing and Breadcrumbs

我正在使用路由前缀,我遇到了一个问题,不知道如何解决。

第一个实际问题是,我可以保持我的链接和我添加前缀之前一样吗?

例如,以前我有链接,我的路线是这样的。

<a href="{{ route('users.edit', $user->id) }}">Edit</a>
Route::resource('users', 'UsersController');

然而,现在我在一组路由中添加了一个前缀,这样链接就会显示为mysite.com/backstage/users。

Route::group(array('prefix' => 'backstage'), function()
{
    Route::resource('users', 'UsersController');
});

所以,现在我有了所有的观点,我是否必须浏览每一个并编辑所有的链接,使它们看起来像这样,或者我可以做一些不同的事情,使我可以以不同的方式处理这种情况。

<a href="{{ route('backstage.users.edit', $user->id) }}">Edit</a>

我还担心我的应用程序的面包屑。

<?php
Breadcrumbs::register('users.index', function($breadcrumbs) {
    $breadcrumbs->parent('home');
    $breadcrumbs->push('Users', route('backstage.users.index'));
});

我必须包括后台吗?或者我可以不带后台吗?

我知道的唯一方法是将名称作为第三个参数传递,如:

Route::resource('users', 'UsersController',
['names'=>['index'=>'users', 'store'=>'users.store']]);

很多人避免使用资源路由。菲尔在这里解释了一些道理。小心通往邪恶的道路。基本上,他是说,如果你或其他人稍后再回来想办法,那可能是一场噩梦。你经常会把特殊情况放在资源之前,这样它们就会在路由中首先被击中,整个事情就会变得一团糟。