Maison  >  Article  >  cadre php  >  Comment utiliser le middleware pour se connecter à Laravel

Comment utiliser le middleware pour se connecter à Laravel

王林
王林original
2023-11-02 08:50:11866parcourir

Comment utiliser le middleware pour se connecter à Laravel

Comment utiliser le middleware pour se connecter à Laravel

Présentation :
Lors du développement d'applications Web, il est souvent nécessaire de consigner les demandes des utilisateurs pour faciliter le dépannage et l'analyse des problèmes. Laravel fournit un moyen pratique de consigner les demandes et les réponses, à l'aide d'un middleware. Cet article présentera en détail comment utiliser le middleware pour se connecter à Laravel et fournira des exemples de code spécifiques.

Étape 1 : Créer un LogMiddleware
Tout d'abord, nous devons créer un middleware personnalisé pour gérer la journalisation. Ouvrez le terminal et exécutez la commande suivante pour créer un fichier middleware :

php artisan make:middleware LogMiddleware

Cette commande créera un fichier LogMiddleware.php dans le répertoire app/Http/Middleware. Dans ce fichier, nous implémenterons la logique de journalisation. Voici un exemple de base : app/Http/Middleware目录下创建一个LogMiddleware.php文件。在该文件中,我们将实现日志记录的逻辑。下面是一个基本的示例:

<?php

namespace AppHttpMiddleware;

use Closure;
use IlluminateSupportFacadesLog;

class LogMiddleware
{
    public function handle($request, Closure $next)
    {
        // 在请求之前记录日志
        Log::info('Request: '.$request->fullUrl());
        
        $response = $next($request);
        
        // 在响应之后记录日志
        Log::info('Response: '.$response->getContent());
        
        return $response;
    }
}

在上述示例中,我们使用了Laravel提供的Log门面来记录日志。在请求之前,我们记录了请求的完整URL;在响应之后,我们记录了响应的内容。

步骤二:注册中间件
创建完中间件之后,我们需要将其注册到Laravel的中间件管道中。打开app/Http/Kernel.php文件,在$middlewareGroups数组中的api组中添加以下代码:

protected $middlewareGroups = [
    'api' => [
        // 其他中间件...
        AppHttpMiddlewareLogMiddleware::class,
    ],
];

这样,我们就将创建的LogMiddleware中间件添加到了api组中,表示该中间件会在后续针对API路由的请求中起作用。

步骤三:启用日志记录
最后一步是启用Laravel的日志记录功能。打开.env文件,找到以下配置项,并确保其为daily

LOG_CHANNEL=daily

这样,Laravel就会将日志记录到storage/logs目录下的laravel.log文件中,按天进行分割。

至此,我们已经完成了在Laravel中使用中间件进行日志记录的全部配置。

示例效果:
假设我们有一个简单的路由定义如下:

Route::get('/hello', function () {
    return 'Hello, Laravel!';
});

当我们请求/hello

[2023-09-05 10:14:23] local.INFO: Request: http://localhost/hello
[2023-09-05 10:14:23] local.INFO: Response: Hello, Laravel!  

Dans l'exemple ci-dessus, nous utilisons la façade Log fournie par Laravel pour enregistrer les journaux. Avant la demande, nous enregistrons l'URL complète de la demande ; après la réponse, nous enregistrons le contenu de la réponse.

Étape 2 : Enregistrez le middleware

Après avoir créé le middleware, nous devons l'enregistrer dans le pipeline middleware de Laravel. Ouvrez le fichier app/Http/Kernel.php et ajoutez le code suivant dans le groupe api du tableau $middlewareGroups :
rrreee

In de cette façon, nous Le middleware LogMiddleware créé est ajouté au groupe api, indiquant que le middleware fonctionnera dans les demandes ultérieures de routage API.

Troisième étape : activer la journalisation🎜La dernière étape consiste à activer la fonction de journalisation de Laravel. Ouvrez le fichier .env, recherchez l'élément de configuration suivant et assurez-vous qu'il est quotidien : 🎜rrreee🎜De cette façon, Laravel se connectera à storage/logs Dans le fichier laravel.log du répertoire code>, divisez-le par jour. 🎜🎜À ce stade, nous avons terminé toutes les configurations d'utilisation du middleware pour la connexion à Laravel. 🎜🎜Exemple d'effet : 🎜Supposons que nous ayons une définition d'itinéraire simple comme suit : 🎜rrreee🎜Lorsque nous demandons /hello, les informations relatives à la demande et à la réponse seront enregistrées dans le journal. Ce qui suit fait partie du fichier journal : 🎜rrreee🎜Comme vous pouvez le constater, nos journaux enregistrent des informations pertinentes sur les demandes et les réponses, ce qui facilite notre dépannage et notre analyse. 🎜🎜Résumé : 🎜Cet article explique comment utiliser le middleware pour se connecter à Laravel. En créant LogMiddleware, en enregistrant le middleware et en activant la journalisation, nous pouvons facilement enregistrer les journaux de demandes et de réponses. Cela nous est très utile pour développer des applications Web et résoudre les problèmes. 🎜🎜J'espère que cet article vous aidera à comprendre et à utiliser le middleware de Laravel pour la journalisation. Plus vous pratiquez et explorez, je pense que vous maîtriserez mieux cette fonction. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn