Laravel Route Group前缀和面包屑

时间:2015-03-25 18:49:44

标签: php laravel laravel-4

我正在使用路由前缀,我想出了一个问题而不确定如何修复它。

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

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

<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'));
});

我是否必须包括后台或者我可以保留它吗?

1 个答案:

答案 0 :(得分:1)

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

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

很多人都避免使用资源路由。菲尔在这里解释了一些推理Beware the route to evil。基本上他说这可能是一场噩梦,如果你或其他人稍后再回过头来弄清楚。你经常会遇到一些特殊情况,你先把它放在资源中,这样它们就会先在路由中被击中,整个事情就变得一团糟。