2012-09-18 4 views
4

Existe-t-il un moyen de regrouper proprement toutes les routes en commençant par admin/? J'ai essayé quelque chose comme ça, mais ça n'a pas ofcourse:Routes d'administration du groupe Laravel

Route::group('admin', function() 
{ 
    Route::get('something', array('uses' => '[email protected]')); 
    Route::get('another', array('uses' => '[email protected]')); 
    Route::get('foo', array('uses' => '[email protected]')); 
}); 

correspondant à ces itinéraires:

admin/something 
admin/another 
admin/foo 

je peux juste préfixe ofcourse tous les itinéraires directement avec admin/, mais je aime savoir s'il est possible de le faire mon chemin.

Merci!

Répondre

3

Malheureusement non. Les groupes de route n'étaient pas conçus pour fonctionner comme ça. Ceci est tiré des documents Laravel. Les groupes de routes vous permettent de joindre un ensemble d'attributs à un groupe de routes, ce qui vous permet de garder votre code propre et bien rangé. Un groupe de routes est utilisé pour appliquer un ou plusieurs filtres à un groupe de routes. Ce que vous cherchez, c'est des paquets!

Présentation des ensembles!

Les paquets sont ce que vous recherchez, par l'apparence des choses. Créer un nouveau paquet appelé « admin » dans votre répertoire liasses et l'enregistrer dans votre application/fichier bundles.php comme quelque chose comme ceci:

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

Les poignées de touche vous permet de changer ce que le paquet URI répondra. Donc, dans ce cas, tous les appels à admin seront exécutés à travers ce groupe. Dans votre nouveau lot, créez ensuite un fichier routes.php et vous pouvez enregistrer le gestionnaire en utilisant l'espace réservé (: 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'; 
}); 

Espérons que cela vous donne quelques idées.

+0

Merci! Je n'ai pas pensé aux paquets. – EsTeGe

+0

toujours pas de problème autour de ce problème, mais avec Bundles? Je demande Laravel 3 – Alex

3

En Laravel 4 vous pouvez maintenant utiliser prefix:

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

    Route::get('something', '[email protected]'); 

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

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

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

}); 
Questions connexes