Maison > développement back-end > tutoriel php > Pouvez-vous étendre les contrôleurs de ressources Laravel avec des méthodes personnalisées ?

Pouvez-vous étendre les contrôleurs de ressources Laravel avec des méthodes personnalisées ?

Barbara Streisand
Libérer: 2024-11-01 15:56:30
original
990 Les gens l'ont consulté

Can You Extend Laravel Resource Controllers with Custom Methods?

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 :

  1. 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>
    Copier après la connexion
  2. 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>
    Copier après la connexion
  3. 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>
    Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal