Création d’un contrôleur Laravel

Un site Laravel ne pourrait pratiquement rien faire sans un contrôleur. En effet, c'est le contrôleur qui est en charge d'effectuer les traitements en plus de faire le lien entre le modèle et la vue.

La grande majorité des actions qu'un utilisateur enclenche mènera à l'appel d'une méthode d'un contrôleur.

▼Publicité

Laravel vous offre un petit utilitaire de ligne de commande nommé artisan. Il est très utile pour effectuer une foule de tâches, dont la création d'un squelette pour un contrôleur.

Pour l'utiliser, vous devez ouvrir une console Vagrant SSH puis vous placer dans le dossier de votre application.

Vous pourrez ensuite créer le squelette d'un contrôleur comme suit :

Console Vagrant SSH

php artisan make:controller ProduitsController --resource

Ceci créera un fichier nommé ProduitsController placé dans le dossier app/Http/Controllers.

Le contrôleur peut porter n'importe quel nom. Cependant, les développeurs MVC ont pour habitude d'utiliser des noms qui se terminent par « Controller ». Vous devriez faire de même.

De plus, la première partie du nom du contrôleur devrait être au pluriel (ex : ProduitsController).

Voici le code généré par la commande artisan, que vous pourrez ensuite modifier à votre guise.

Vous remarquerez que les méthodes d'action permettant d'effectuer les opérations CRUD (Create Read Update Delete) sur les données ont été créées pour vous. Cependant, il vous reste à mettre en place le code qu'elles contiendront.

Contrôleur Laravel (PHP)

<?php

 

namespace App\Http\Controllers;

 

use Illuminate\Http\Request;

 

class ProduitsController extends Controller

{

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function index()

    {

        //

    }

 

    /**

     * Show the form for creating a new resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function create()

    {

        //

    }

 

    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $request)

    {

        //

    }

 

    /**

     * Display the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function show($id)

    {

        //

    }

 

    /**

     * Show the form for editing the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function edit($id)

    {

        //

    }

 

    /**

     * Update the specified resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function update(Request $request, $id)

    {

        //

    }

 

    /**

     * Remove the specified resource from storage.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function destroy($id)

    {

        //

    }

}

Si on n'avait pas spécifié l'argument --resource dans la commande artisan, le contrôleur aurait été dans sa forme la plus simple :

Contrôleur Laravel (PHP)

<?php

 

namespace App\Http\Controllers;

 

use Illuminate\Http\Request;

 

class ProduitsController extends Controller

{

    //

}

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories