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.
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 :
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.
<?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 :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ProduitsController extends Controller
{
//
}
▼Publicité
Site fièrement hébergé chez A2 Hosting.