2017-10-03 5 views
0

En Laravel 5.1 j'ai pu créer itinéraire suivant:route contrôleur Laravel

Route::controller('posts', 'PostsController');

Il était très pratique, puisque je pouvais utiliser des méthodes selon le type de demande:

public function getCreate() 
{ 
    // method for getting 
} 

public function postCreate() 
{ 
    // method for creating 
} 

En Laravel 5.5 il semble que cette fonctionnalité (contrôleurs HTTP) a été supprimée (?) Et remplacée par des requêtes HTTP.

Les demandes sont agréables, mais pas très pratique .. et il offre beaucoup plus de méthodes que j'ai besoin.

Existe-t-il une possibilité de continuer à utiliser des noms de méthodes liés aux requêtes pour les contrôleurs dans Laravel 5.5?

Répondre

2

Je pense que vous pouvez utiliser des ressources Route

Contrôleurs de ressources

Laravel routage des ressources attribue les routes « CRUD » typique d'un contrôleur avec une seule ligne de code. Par exemple, vous souhaiterez peut-être créer un contrôleur qui gère toutes les demandes HTTP pour les "photos" stockées par votre application. Utilisation de la marque: contrôleur commande Artisan, nous pouvons créer rapidement un tel contrôleur:

php artisan make:controller PhotoController --resource 

Cette commande va générer un contrôleur à app/Http/Controllers/PhotoController.php. Le contrôleur contiendra une méthode pour chacune des opérations de ressources disponibles.

Ensuite, vous pouvez enregistrer un itinéraire plein de ressources au contrôleur:

Route::resource('photos', 'PhotoController'); 

Cette seule déclaration d'itinéraire crée de multiples voies pour gérer une variété d'actions sur la ressource. Le contrôleur généré aura déjà des méthodes stubbed pour chacune de ces actions, y compris des notes vous informant des verbes HTTP et des URI qu'ils gèrent.

Actions gérées par contrôleur des ressources

enter image description here

Ref: https://laravel.com/docs/5.5/controllers#resource-controllers

+0

Oui, mais je ne ai pas besoin de toutes ces actions comme détruire ou mettre à jour mon contrôleur. En outre, dans une action de type Contrôleur HTTP, il s'agissait d'un nom de méthode de contrôleur. Dans un contrôleur de ressources, je ne peux pas modifier les noms de méthodes. – Kesse

+0

@ Kesse.as par ma connaissance je pense que c'est l'option nly one. Verra si quelqu'un a d'autres idées – iCoders

+0

Vous pouvez ajouter '-> seulement ([$ etc])' et fournir les routes que vous souhaitez utiliser (dans votre cas seulement indexer et stocker? – milo526