Comment créer une clé du milieu dans Laravel
Laravel est un framework PHP populaire qui fournit de nombreuses fonctionnalités et outils pour aider les développeurs à créer des applications Web de haute qualité. Une fonctionnalité notable est le middleware, qui permet aux développeurs d'effectuer certaines actions avant que la requête n'atteigne sa destination finale dans l'application. Cet article vous expliquera comment créer un middleware Laravel.
Qu'est-ce qu'un middleware ?
Le middleware est un moyen d'intercepter les requêtes de routage. Lorsque l'application reçoit une requête, le middleware effectuera une série d'opérations pour modifier et contrôler la requête. Le middleware peut être utilisé pour diverses opérations telles que l'authentification, le contrôle d'accès, la mise en cache, etc.
Laravel est livré avec des middlewares, tels que auth
, csrf
, throttle
, etc. De plus, les développeurs peuvent créer leur propre middleware pour accomplir des tâches plus spécifiques. auth
,csrf
,throttle
等。此外,开发者还可以创建自己的中间件来完成更特定的任务。
创建中间件
在Laravel中创建中间件非常简单,只需要执行以下命令即可生成一个新的中间件:
php artisan make:middleware MyMiddleware
以上命令将会在app/Http/Middleware
目录下创建一个名为MyMiddleware
的新中间件类。该类将包含两个方法:handle()
和__construct()
。
handle()
方法是中间件的核心,它定义了中间件被执行时需要执行的操作。handle()
方法将接收两个参数:请求对象和一个回调闭包。通常情况下,中间件会修改请求并将其传递给下一个处理程序。
以下是一个简单的中间件示例,用于记录请求的响应时间:
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Log; class ResponseTimeMiddleware { public function handle($request, Closure $next) { $start_time = microtime(true); $response = $next($request); $end_time = microtime(true); $response_time = round(($end_time - $start_time) * 1000, 2); Log::info("Response time: {$response_time}ms"); return $response; } }
在上面的示例中,我们记录了请求的开始时间,并在请求结束后计算响应时间。然后,我们将响应时间记录到应用程序日志中,并将响应返回。
注册中间件
要使用中间件,需要将其注册到应用程序中。Laravel提供了两种方法来注册中间件。
全局中间件
全局中间件将在每个请求处理程序之前运行。要注册全局中间件,请打开app/Http/Kernel.php
文件,并将类添加到$middleware
属性中。
例如,要注册我们之前创建的ResponseTimeMiddleware
中间件,我们可以将以下代码添加到$middleware
数组中:
protected $middleware = [ \App\Http\Middleware\ResponseTimeMiddleware::class ];
路由中间件
路由中间件仅在指定路由上运行。要注册路由中间件,请在app/Http/Kernel.php
文件中的$routeMiddleware
属性中添加类别名。
例如,要注册之前创建的ResponseTimeMiddleware
中间件,我们可以将以下代码添加到$routeMiddleware
protected $routeMiddleware = [
'response_time' => \App\Http\Middleware\ResponseTimeMiddleware::class,
];
Copier après la connexionLa commande ci-dessus sera dans app/Http/Middleware
Créer un nouveau middleware. classe nommée MyMiddleware
dans le répertoire. Cette classe contiendra deux méthodes : handle()
et __construct()
.
La méthode protected $routeMiddleware = [ 'response_time' => \App\Http\Middleware\ResponseTimeMiddleware::class, ];
handle()
est le cœur du middleware, qui définit les opérations qui doivent être effectuées lors de l'exécution du middleware. La méthode handle()
recevra deux paramètres : l'objet de requête et une fermeture de rappel. En règle générale, le middleware modifie la requête et la transmet au gestionnaire suivant. 🎜🎜Voici un exemple simple de middleware pour enregistrer le temps de réponse d'une requête : 🎜Route::get('/', function () { return view('welcome'); })->middleware('response_time');
Global Middleware
🎜Le middleware global s'exécutera avant chaque gestionnaire de requêtes. Pour enregistrer un middleware global, ouvrez le fichierapp/Http/Kernel.php
et ajoutez la classe à l'attribut $middleware
. 🎜🎜Par exemple, pour enregistrer le middleware ResponseTimeMiddleware
que nous avons créé précédemment, nous pouvons ajouter le code suivant au tableau $middleware
: 🎜rrreeeRouting Middleware h3>🎜Le middleware d'itinéraire ne s'exécute que sur les itinéraires spécifiés. Pour enregistrer le middleware de route, ajoutez le nom de la catégorie dans l'attribut $routeMiddleware
dans le fichier app/Http/Kernel.php
. 🎜🎜Par exemple, pour enregistrer le middleware ResponseTimeMiddleware
que nous avons créé précédemment, nous pouvons ajouter le code suivant au tableau $routeMiddleware
: 🎜rrreee🎜Dans le fichier de route, nous pouvons utilisez le nom de la catégorie pour spécifier le middleware à utiliser : 🎜rrreee🎜Conclusion🎜🎜Le middleware est une fonctionnalité puissante du framework Laravel, qui permet aux développeurs de modifier et de contrôler les requêtes avant que l'application n'exécute la requête. Dans cet article, nous avons exploré la création et l'enregistrement du middleware Laravel, et comment les utiliser dans votre application. Si vous n'avez jamais utilisé de middleware auparavant, je vous recommande de prendre le temps de les apprendre et de commencer à les utiliser. 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Django et Laravel sont tous deux des frameworks à pile. Django convient aux développeurs Python et à la logique métier complexe, tandis que Laravel convient aux développeurs PHP et à la syntaxe élégante. 1.Django est basé sur Python et suit la philosophie "Battery-Complete", adaptée au développement rapide et à une grande concurrence. 2.Laravel est basé sur PHP, mettant l'accent sur l'expérience du développeur et convient aux projets de petite et moyenne taille.

Comment Laravel joue-t-il un rôle dans la logique backend? Il simplifie et améliore le développement backend par le biais de systèmes de routage, d'éloquente, d'authentification et d'autorisation, d'événements et d'auditeurs et d'optimisation des performances. 1. Le système de routage permet la définition de la structure d'URL et demande la logique de traitement. 2.Lao-éloquente simplifie l'interaction de la base de données. 3. Le système d'authentification et d'autorisation est pratique pour la gestion des utilisateurs. 4. L'événement et l'écoute implémentent la structure de code couplée de manière lâche. 5. L'optimisation des performances améliore l'efficacité de l'application par la mise en cache et la file d'attente.

PHP et Laravel ne sont pas directement comparables, car Laravel est un cadre basé sur PHP. 1.Php convient aux petits projets ou à un prototypage rapide car il est simple et direct. 2. Laravel convient à de grands projets ou à un développement efficace car il offre des fonctions et des outils riches, mais a une courbe d'apprentissage abrupte et peut ne pas être aussi bon que PHP pur.

LaravelisabackendFrameworkBuiltonPhp, conçue pourwebapplicationdevelopment.itfocusonServer-sidelogic, databasemanagement, andapplicationsstructure, andcanbenegrategratedwithfrontentechnologies likevue.jsorrectForfull-stackdevelopment.

Le projet de développement de Laravel a été choisi en raison de sa flexibilité et de sa puissance pour répondre aux besoins de différentes tailles et complexités. Laravel fournit un système de routage, Eloquentorm, une ligne de commande artisanale et d'autres fonctions, soutenant le développement de blogs simples aux systèmes complexes au niveau de l'entreprise.

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

La popularité de Laravel comprend son processus de développement simplifié, offrant un environnement de développement agréable et des caractéristiques riches. 1) Il absorbe la philosophie de conception des rubyonrails, combinant la flexibilité de PHP. 2) Fournir des outils tels que l'éloquente, le moteur de modèle de lame, etc. pour améliorer l'efficacité du développement. 3) Son mécanisme d'architecture MVC et d'injection de dépendance rend le code plus modulaire et testable. 4) fournit des outils de débogage puissants et des méthodes d'optimisation des performances telles que les systèmes de mise en cache et les meilleures pratiques.

Les fonctions principales de Laravel dans le développement back-end incluent le système de routage, l'éloquente, la fonction de migration, le système de cache et le système de file d'attente. 1. Le système de routage simplifie la cartographie de l'URL et améliore l'organisation et la maintenance du code. 2.Lesormorm fournit des opérations de données orientées objet pour améliorer l'efficacité du développement. 3. La fonction de migration gère la structure de la base de données via le contrôle de la version pour assurer la cohérence. 4. Le système de cache réduit les requêtes de la base de données et améliore la vitesse de réponse. 5. Le système de file d'attente traite efficacement les données à grande échelle, évite de bloquer les demandes des utilisateurs et d'améliorer les performances globales.
