Laravel route nommée pour le contrôleur de ressources
À l'aide de Laravel 4.2, est-il possible d'assigner un nom à un contrôleur de ressources itinéraire? Mon itinéraire est défini comme suit:
Route::resource('faq', 'ProductFaqController');
J'ai essayé d'ajouter un nom de l'option de la route comme ceci:
Route::resource('faq', 'ProductFaqController', array("as"=>"faq"));
Cependant, quand j'ai touché /faq itinéraire et la place {{ Route::currentRouteName() }}
de mon point de vue, il donne faq.faq.index
au lieu de simplement faq
.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez un contrôleur de ressources de l'itinéraire, il génère automatiquement des noms pour chaque itinéraire qu'il crée.
Route::resource()
est essentiellement une méthode d'assistance que génère alors des itinéraires individuels pour vous, plutôt que d'avoir à définir chaque route manuellement.Vous pouvez afficher l'itinéraire de noms générés en tapant
php artisan routes
dans Laravel 4 ouphp artisan route:list
dans Laravel 5 dans votre terminal/console. Vous pouvez également voir les types de parcours de noms générés sur le contrôleur de ressources docs page (Laravel 4.x | Laravel 5.x).Il y a deux façons vous pouvez modifier l'itinéraire de noms générés par un contrôleur de ressources:
Offre un
names
tableau en tant que partie de la troisième paramètre$options
tableau, chaque touche étant la ressource la méthode du contrôleur (indexer, stocker, modifier, etc.), et la valeur étant le nom que vous souhaitez donner à la route.Spécifier le
as
option pour définir un préfixe pour chaque nom de route.Cela vous donnera des itinéraires tels que
prefix.faq.index
,prefix.faq.store
, etc.Pour répondre à des demandeurs d'Laravel 5.5+ trouver cette page:
Ces options sera pour la Ressources:
namespace()
jeux de Contrôleur de noms \Admin\UserControllerprefix()
définit l'URi de la demande d' /admin/usersname()
définit le nom de l'itinéraire accesseur pourroute('admin.users.index')
Veuillez laisser les autres savoir si cela fonctionne pour vous dans les commentaires pour toute les versions antérieures à Laravel 5.5, je vais mettre à jour ma réponse.
Mise à jour:
Je peux confirmer que dans Laravel 5.3 que le
name
méthode n'est pas disponible.Pas de confirmation encore si pris en charge dans 5.4
Taylor accepté mon PR officiellement ce document en 5.5:
https://laravel.com/docs/5.5/routing#route-group-name-prefixes
À L'Aide De Laravel 5.5
Itinéraire::ressource('galerie', 'GalleryController', ['comme' => 'photos']);
important de garder à l'esprit la "ressources"
Par exemple, j'envoie quelque chose à partir de mon projet:
Toutes les Mises à jour plus Tard, alors Laravel 5.5 à l'Aide de
si nous n'utilisons pas
['as' => 'faqs']
dans le code ci-dessus, puis il travaillera également de même.[Mise à jour]
Important de garder à l'esprit que ce sera du travail pour "ressources"
Par exemple:
et le résultat sera comme
vous n'avez pas besoin de définir le nom de la ressource dans laravel de 5,7 que j'ai tester.
il générer automatiquement le nom de l'itinéraire à partir de l'url.