Extension des contrôleurs de ressources dans Laravel
Les contrôleurs de ressources dans Laravel offrent un moyen pratique de gérer les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) pour vos modèles. Cependant, vous devrez parfois ajouter des méthodes ou des routes supplémentaires à votre contrôleur de ressources.
Pouvez-vous ajouter de nouvelles méthodes à un contrôleur de ressources ?
Oui, c'est possible pour ajouter de nouvelles méthodes à un contrôleur de ressources. Voici comment procéder :
Définissez la nouvelle méthode dans votre contrôleur :
Ajoutez une nouvelle méthode à votre contrôleur. Cette méthode peut gérer n’importe quelle opération de votre choix. Par exemple :
<code class="php">public function bar() { // Code for your custom method }</code>
Enregistrez un itinéraire distinct pour la méthode :
Enregistrez un itinéraire distinct pour la nouvelle méthode avant d'enregistrer le ressource. Cela garantit que la nouvelle route a priorité sur les routes de ressources par défaut :
<code class="php">Route::get('foo/bar', 'FooController@bar');</code>
Enregistrez la ressource :
Enfin, enregistrez la ressource en utilisant la méthode Route::resource. Cela générera automatiquement des routes pour les opérations CRUD par défaut :
<code class="php">Route::resource('foo', 'FooController');</code>
Exemple :
Considérons l'exemple suivant :
<code class="php">// FooController.php public function bar() { // ... } // RouteServiceProvider.php Route::get('foo/bar', 'FooController@bar'); Route::resource('foo', 'FooController');</code>
Ce code définit une méthode de barre personnalisée dans le FooController et enregistre une route distincte pour celle-ci. La route des ressources est ensuite enregistrée pour gérer les opérations CRUD.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!