Maison >développement back-end >tutoriel php >Travailler avec les données de session Flash dans Laravel

Travailler avec les données de session Flash dans Laravel

James Robert Taylor
James Robert Taylororiginal
2025-03-12 17:08:21410parcourir

Travailler avec les données de session Flash dans Laravel

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application.

Les données ne persistent que pour la demande ultérieure par défaut:

 $ request-> session () -> flash ('status', 'tâche terminée avec succès!');

Laravel propose plusieurs fonctions flash spécialisées:

 // étendez toutes les données flash à la demande suivante
$ request-> session () -> reflash ();

// étendre des éléments de données flash spécifiques
$ request-> session () -> keep (['username', 'email']);

// Flash Données accessibles uniquement dans la demande actuelle
$ request-> session () -> maintenant ('statut', 'opération terminée');

Voici un exemple pratique dans un système de notification:

 CLASS NOTIFICATION Contrôleur étend le contrôleur
{
    Public Fonction ProcessForm (Demande $ demande)
    {
        essayer {
            Db :: transaction (function () use ($ request) {
                // Soumission de formulaire de traitement
                $ result = $ this-> processData ($ request-> all ());

                // Flash Success Message pour la prochaine demande
                $ request-> session () -> flash ('message', 'formulaire soumis avec succès');
                $ request-> session () -> flash ('Détails', [
                    'id' => $ result-> id,
                    'TimeStamp' => Now () -> TodateTimeString ()
                ]));

                // Gardez conditionnellement les détails en fonction de la préférence des utilisateurs
                if ($ request-> a ('show_details')) {
                    $ request-> session () -> Keep (['Détails']);
                }
            });

            return redirect () -> Route ('Dashboard');

        } catch (exception $ e) {
            Logger () -> Error ('Formulaire de la soumission a échoué', ['error' => $ e-> getMessage ()]);

            // Affichez l'erreur immédiatement dans la demande actuelle
            $ request-> session () -> maintenant ('error', 'déchets de soumission');

            return back () -> innutput ();
        }
    }
}

Tirer parti des données Flash Session fournit un moyen efficace de gérer la messagerie spécifique à la demande sans la surcharge du stockage persistant, ce qui se traduit par une application plus réactive et conviviale.

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