Laravel 4:命名组中的命名路由

时间:2013-07-16 11:42:30

标签: php routes laravel laravel-4

有没有办法制作这样的东西?

Route::group(array('as' => 'admin', 'prefix' => 'admin', 'before' => 'admin'), function()
{
    Route::get('/', array('as' => 'home', 'uses' => 'AdminController@index'));
    Route::get('users', array('as' => 'users', 'uses' => 'AdminController@users'));
});

目标是不要在所有名称中包含“admin”,并为上面的示例创建链接,如下所示:

URL::route('admin.home');
URL::route('admin.users');

以上示例不起作用:

Illegal offset type in unset
laravel/bootstrap/compiled.php:5053

包含非广域路由的命名组。 nonamed组中的命名路由也可以工作。 但不是在一起。

1 个答案:

答案 0 :(得分:7)

Route::group(['prefix' => 'admin', 'before' => 'adminAuth'], function(){
    // If you do not want to repeat 'admin' in all route names, 
    // define the value here
    $r = 'admin';

    Route::get('users', ['as' => "{$r}.users", 'uses' => 'AdminController@users']);
    Route::get('/', ['as' => "{$r}.root", 'uses' => 'AdminController@index']);
});

在您的观看/重定向中,您可以使用URL::action('ControllerName@method),Laravel将知道重定向/指向的位置...