4

で始まるすべてのルートをきれいにグループ化する方法はありadmin/ますか?私はこのようなことを試しましたが、もちろんうまくいきませんでした:

Route::group('admin', function()
{
    Route::get('something', array('uses' => 'mycontroller@index'));
    Route::get('another', array('uses' => 'mycontroller@second'));
    Route::get('foo', array('uses' => 'mycontroller@bar'));
});

これらのルートに対応:

admin/something
admin/another
admin/foo

もちろん、これらすべてのルートの前に直接プレフィックスを付けることもできますが、自分のやり方admin/でそれを実行できるかどうかを知りたいのです。

ありがとう!

4

2 に答える 2

3

残念だけど違う。ルートグループは、そのように機能するようには設計されていません。これはLaravelのドキュメントから取られています。

ルートグループを使用すると、一連の属性をルートのグループにアタッチして、コードを整理整頓することができます。

ルートグループは、ルートのグループに1つ以上のフィルターを適用するために使用されます。あなたが探しているのはバンドルです!

バンドルのご紹介!

バンドルは、物事の見た目によって、あなたが求めているものです。bundlesディレクトリに「admin」という名前の新しいバンドルを作成し、application/bundles.phpファイルに次のように登録します。

'admin' => array(
    'handles' => 'admin'
)

ハンドルキーを使用すると、バンドルが応答するURIを変更できます。したがって、この場合、adminへの呼び出しはすべてそのバンドルを介して実行されます。次に、新しいバンドルでroutes.phpファイルを作成し、(:bundle)プレースホルダーを使用してハンドラーを登録できます。

// Inside your bundles routes.php file.
Route::get('(:bundle)', function()
{
    return 'This is the admin home page.';
});

Route::get('(:bundle)/users', function()
{
    return 'This responds to yoursite.com/admin/users';
});

それがあなたにいくつかのアイデアを与えることを願っています。

于 2012-09-19T00:38:39.903 に答える
3

Laravel 4使用できるようになりましたprefix

Route::group(['prefix' => 'admin'], function() {

    Route::get('something', 'mycontroller@index');

    Route::get('another', function() {
        return 'Another routing';
    });

    Route::get('foo', function() {
        return Response::make('BARRRRR', 200);
    });

    Route::get('bazz', function() {
        return View::make('bazztemplate');
    });

});
于 2013-06-24T21:23:07.877 に答える