...
Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Meilleure façon de créer un contrôleur Laravel pour les opérations CRUD

154

Laravel travaille sur le modèle architectural MVC (Model-View-Controller). Si vous exécutez une application sur le framework Laravel, vous devez créer un modèle, une vue et des contrôleurs pour votre application.

Dans Laravel, on peut créer un contrôleur et un modèle via une interface de ligne de commande. Laravel artisan est l’interface de ligne de commande qui fournit un certain nombre de commandes qui nous aident à créer l’application. Nous pouvons et devons créer un contrôleur en utilisant la commande artisan.

Créer un contrôleur Laravel

Disons que vous travaillez sur le back-end et que vous souhaitez effectuer des opérations CRUD sur les pages. Cela signifie que vous devez créer un système pour gérer les pages qui comprend la création, la récupération, la mise à jour et la suppression de pages. Bien sûr, pour cette tâche, vous devez créer un contrôleur.

Normalement, les gens exécutent la commande php artisan make:controller PageController. Cette commande génère un fichier PageController.phpdans le répertoire app/Http/Controllers.

Remarque: Vous devez exécuter cette commande dans le répertoire racine d’un projet à l’aide de l’interface de ligne de commande.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    //
}

Dans ce contrôleur généré, vous devez écrire des méthodes et définir les routes en conséquence. Pour chaque méthode, vous devez écrire une route distincte.

Par exemple. ajoutons une méthode index()et définissons une route pour elle.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    public function index() {
        //do operations here
    }
}

Pour appeler cette index()fonction dans le fichier de route, nous devons ajouter le code ci-dessous.

itinéraires/web.php

Route::get('pages', 'PageController@index');

Le même processus s’appliquera pour chaque méthode supplémentaire.

Il n’y a rien de mal avec ce flux. Mais ce n’est pas une méthode recommandée. Derrière la popularité de Laravel, il y a plusieurs raisons. L’une des raisons est leurs puissantes commandes artisanales avancées.

Meilleure façon de créer un contrôleur Laravel

Dans Laravel, nous n’avons pas besoin d’écrire chaque méthode et de définir une route distincte pour chaque méthode. En utilisant la commande artisan, nous pouvons générer un contrôleur avec des méthodes prédéfinies. Et juste en écrivant une seule route, Laravel appelle automatiquement les méthodes appropriées.

Cela dit, ouvrez votre interface de ligne de commande dans le répertoire racine de votre projet et exécutez la commande ci-dessous. Gardez une note, cette fois, nous ajoutons –resource à notre commande make:controller.

php artisan make:controller PageController --resource

Maintenant, le généré PageController.phpressemble à ci-dessous.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        //
    }
 
    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        //
    }
 
    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        //
    }
 
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }
 
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }
 
    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }
 
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}

Nous avons les méthodes comme index, créer, stocker, afficher, éditer, mettre à jour, détruire automatiquement. Vous pouvez lire les commentaires fournis pour chaque méthode qui explique ce que fait chaque méthode. Spécifions maintenant l’itinéraire pour cela.

itinéraires/web.php

Route::resource('pages', 'PageController');

Cette route ingénieuse créera plusieurs routes pour gérer différentes actions. Maintenant, pour obtenir les détails des actions, exécutez la commande php artisan route:list. Pour la route des pages, vous verrez la sortie comme indiqué dans la capture d’écran.

Cette sortie vous donne une idée de la méthode HTTP, de l’URL et de la méthode qui appellera l’URL spécifiée.

Par exemple, si vous exécutez une URL YOUR_SITE_DOMAIN/pages avec la méthode GET, elle appellera la index()méthode d’un PageController.

Si vous souhaitez créer une nouvelle page, l’URL sera YOUR_SITE_DOMAIN/pages/create. Il donne un appel à la create()méthode où vous devez charger une vue pour créer une nouvelle page.

Lorsque vous soumettez un formulaire avec method="post" et action="pages", il appelle la store()méthode.

Etc.

Il s’agit de créer un contrôleur Laravel pour les opérations CRUD. S’il vous plaît partager vos pensées dans la section commentaire ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails