Creare un controller
à laravelCré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.
Route::get(‘base URI’,’controller@method’);
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.
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
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Ici, nous attribuons un middleware d'authentification à UserController dans le chemin du profil.
<?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
.
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 .
<?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
.
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.
Verbe | Chemin | Action | Nom de l'itinéraire |
---|---|---|---|
ÉCONOMISEZ | /mon | indice | mon index |
ÉCONOMISEZ | /mon/créer | engendrent | mon.créer |
POSTEZ | /mon | Boutique | Mon magasin |
ÉCONOMISEZ | /Oh la la} | montrer | mon spectacle |
ÉCONOMISEZ | /mon/{mon}/edit | éditer | ma rédaction |
METTRE/CORRIGER | /Oh la la} | Mise à jour | ma.mise à jour |
EFFACER | /Oh la la} | détruire | mon. détruire |
5 – Essayez d'exécuter les URL indiquées dans le tableau ci-dessous.
URL | Description | uscita |
---|---|---|
http://localhost:8000/my | Exécutez la méthode index de MyController.php | indice |
http://localhost:8000/my/create | Exécutez la méthode create de MyController.php | creèr |
http://localhost:8000/my/1 | Exécutez la méthode show de MyController.php | montrer |
http://localhost:8000/my/1/edit | Exécutez la méthode d'édition de MyController.php | éditer |
Ercole Palmeri
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,…
Walliance, SIM et plateforme parmi les leaders en Europe dans le domaine du Crowdfunding Immobilier depuis 2017, annonce la finalisation…
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…
«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é…
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…
Laravel, célèbre pour sa syntaxe élégante et ses fonctionnalités puissantes, constitue également une base solide pour l'architecture modulaire. Là…
Cisco et Splunk aident leurs clients à accélérer leur transition vers le centre d'opérations de sécurité (SOC) du futur avec…
Les ransomwares ont dominé l’actualité ces deux dernières années. La plupart des gens savent bien que les attaques…