Articles

Laravel : que sont les contrôleurs laravel ?

Dans le framework MVC, la lettre "C" signifie Controllers, et dans cet article nous verrons comment utiliser les Controllers dans Laravel. Agit comme un trafic direct entre les vues et les modèles. Dans cet article, nous voyons comment créer et configurer des contrôleurs dans Laravel.

Creare un controller à laravel

Créer un controller, nous devons ouvrir l'invite de commande ou le terminal, selon le système d'exploitation que nous utilisons, et taper la commande suivante pour créer le contrôleur en utilisant Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

Remplacer <controller-name> avec ton nom controller. Cela va créer un controller. le controller créé peut être visualisé dans app/Http/Controllers .

Vous verrez qu'un certain codage de base a déjà été fait pour vous et vous pouvez ajouter votre propre codage personnalisé. Le controller created peut être appelé depuis web.php avec la syntaxe suivante.

syntaxe
Route::get(‘base URI’,’controller@method’);
Exemple

1 : Exécutez la commande suivante pour créer MyController

php artisan make:controller MyController

2 – Après une exécution réussie, vous obtiendrez la sortie suivante.

3 – On retrouvera le contrôleur créé dans app/Http/Controller/MyController.php avec du code de base déjà écrit et nous pouvons apporter des modifications si nécessaire.

Intergiciel du contrôleur

Nous avons déjà vu le middleware et nous pouvons également l'utiliser avec le controller. le middleware il peut également être affecté à la route du contrôleur ou au sein du constructeur du contrôleur. Vous pouvez utiliser la méthode middleware pour attribuer le middleware al controller. le middleware enregistrés peuvent également être limités à certaines méthodes de controller.

Affectation du middleware à la route
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Ici, nous attribuons un middleware d'authentification à UserController dans le chemin du profil.

Affectation du middleware dans le constructeur du contrôleur
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('auth');
   }
}

Ici, nous attribuons le middleware d'authentification en utilisant la méthode middleware dans le constructeur MonContrôleur .

Noter que $this->middleware() funziona solo si vous l'assignez dans le constructeur. Si nous appelons $this->middleware() à partir d'une méthode de contrôleur spécifique, il ne générera aucune erreur, mais le middleware ne fonctionnera pas réellement.

Cette option est valide, mais personnellement je préfère mettre tout le middleware dans le routes, car il est plus clair où chercher tous les middleware.

Exemple

1 – Ajoutons les lignes de code suivantes au fichier routes/web.php et nous économisons.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – Créons un middleware appelé FirstMiddleware en exécutant la ligne de code suivante.

php artisan make:middleware FirstMiddleware

3 : ajoutez le code suivant dans la méthode manipuler de la FirstMiddleware vient de créer en application/Http/Middleware .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – Créons un middleware appelé Deuxième middleware en exécutant la commande suivante.

php artisan make:middleware SecondMiddleware

5 : ajoutons le code suivant dans la méthode handle du SecondMiddleware vient de créer en application/Http/Middleware .

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : créons un controller appelé MonContrôleur en exécutant la ligne suivante.

php artisan make:controller MyController

7 – Après une exécution réussie de l'URL, vous obtiendrez la sortie suivante –

8 – Copiez le code suivant dans le fichier app/Http/MyController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('Second');
   }
   public function showPath(Request $request) {
      $uri = $request->path();
      echo '<br>URI: '.$uri;
      
      $url = $request->url();
      echo '<br>';
      
      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';
      
      echo 'Method: '.$method;
   }
}

9 – Démarrons maintenant le serveur Web interne php en exécutant la commande suivante, si vous ne l'avez pas déjà fait.

php artisan serve

10 – Visitez l'URL suivante.

http://localhost:8000/mycontroller/path

11 – La sortie apparaîtra comme indiqué dans l'image suivante.

Pratiquement les deux middlewares sont impliqués, mais un seul

Controller di restful resource

Souvent, lors de la création d'une application, vous devez faire quelque chose CRUD (Create, Read, Update, Delete)Laravel rend ce travail facile. Créez simplement un controller et Laravel fournira toutes les méthodes pour les opérations automatiquement CRUD. Nous pouvons également enregistrer un chemin unique vers toutes les méthodes du fichier route.php.

Exemple

1 : créez un contrôleur appelé MyController en exécutant la commande suivante.

php artisan make:controller MyController

2 : ajoutez le code suivant dans app/Http/Controllers/MyController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function index() {
      echo 'index';
   }
   public function create() {
      echo 'create';
   }
   public function store(Request $request) {
      echo 'store';
   }
   public function show($id) {
      echo 'show';
   }
   public function edit($id) {
      echo 'edit';
   }
   public function update(Request $request, $id) {
      echo 'update';
   }
   public function destroy($id) {
      echo 'destroy';
   }
}

3 – Ajoutons la ligne de code suivante dans le fichier routes/web.php .

Route::resource('my','MyController');

4 – Nous enregistrons maintenant toutes les méthodes de MyController en enregistrant un contrôleur avec une ressource. Ci-dessous le tableau des actions gérées par le contrôleur de ressources.

VerbeCheminActionNom de l'itinéraire
ÉCONOMISEZ/monindicemon index
ÉCONOMISEZ/mon/créerengendrentmon.créer
POSTEZ/monBoutiqueMon magasin
ÉCONOMISEZ/Oh la la}montrermon spectacle
ÉCONOMISEZ/mon/{mon}/editéditerma rédaction
METTRE/CORRIGER/Oh la la}Mise à jourma.mise à jour
EFFACER/Oh la la}détruiremon. détruire

5 – Essayez d'exécuter les URL indiquées dans le tableau ci-dessous.

URLDescriptionuscita
http://localhost:8000/myExécutez la méthode index de MyController.phpindice
http://localhost:8000/my/createExécutez la méthode create de MyController.phpcreèr
http://localhost:8000/my/1Exécutez la méthode show de MyController.phpmontrer
http://localhost:8000/my/1/editExécutez la méthode d'édition de MyController.phpéditer

Ercole Palmeri

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

Articles récents

Comment organiser au mieux les données et les formules dans Excel, pour une analyse bien faite

Microsoft Excel est l'outil de référence en matière d'analyse de données, car il propose de nombreuses fonctionnalités pour organiser des ensembles de données,…

14 mai 2024

Conclusion positive pour deux projets importants de Walliance Equity Crowdfunding : Jesolo Wave Island et Milano Via Ravenna

Walliance, SIM et plateforme parmi les leaders en Europe dans le domaine du Crowdfunding Immobilier depuis 2017, annonce la finalisation…

13 mai 2024

Qu'est-ce que le filament et comment utiliser le filament Laravel

Filament est un framework de développement Laravel « accéléré », fournissant plusieurs composants full-stack. Il est conçu pour simplifier le processus de…

13 mai 2024

Sous le contrôle des Intelligences Artificielles

«Je dois revenir pour achever mon évolution : je vais me projeter à l'intérieur de l'ordinateur et devenir une pure énergie. Une fois installé…

10 mai 2024

La nouvelle intelligence artificielle de Google peut modéliser l'ADN, l'ARN et « toutes les molécules de la vie »

Google DeepMind présente une version améliorée de son modèle d'intelligence artificielle. Le nouveau modèle amélioré offre non seulement…

9 mai 2024

Explorer l'architecture modulaire de Laravel

Laravel, célèbre pour sa syntaxe élégante et ses fonctionnalités puissantes, constitue également une base solide pour l'architecture modulaire. Là…

9 mai 2024

Cisco Hypershield et acquisition de Splunk La nouvelle ère de la sécurité commence

Cisco et Splunk aident leurs clients à accélérer leur transition vers le centre d'opérations de sécurité (SOC) du futur avec…

8 mai 2024

Au-delà du côté économique : le coût peu évident des ransomwares

Les ransomwares ont dominé l’actualité ces deux dernières années. La plupart des gens savent bien que les attaques…

6 mai 2024