Table des matières
Qu'est-ce que le compositeur View?
Comment définir un compositeur de vue
Écrivez une classe de compositeur View
Scénarios et suggestions d'utilisation réelles
Quelques suggestions pratiques:
Résumons
Maison cadre php Laravel Comment définir et utiliser des compositeurs de vue à Laravel.

Comment définir et utiliser des compositeurs de vue à Laravel.

Jul 18, 2025 am 01:40 AM
laravel

Voir les compositeurs est un mécanisme de Laravel pour injecter des données avant le rendu de la vue, la réduction de la charge du contrôleur et le maintien du code rangement. 1. Il s'agit d'une méthode de rappel ou de classe qui est automatiquement exécutée lorsque la vue est chargée; 2. Il est généralement enregistré dans App \ Providers \ ViewServiceProvider; 3. Passez des données à la vue via $ View-> avec (); 4. Convient pour le traitement des données partagées telles que la barre de navigation, les informations utilisateur, etc.; 5. Lorsque vous l'utilisez, vous devez éviter la logique complexe et les requêtes excessives de la base de données et organiser raisonnablement la structure.

Comment définir et utiliser des compositeurs de vue à Laravel.

Dans Laravel, View Composers est un moyen élégant de lier les données aux vues. Il vous permet d'injecter des données avant de rendre la vue, ce qui est très approprié pour gérer la logique de données partagée requise par plusieurs pages, telles que les barres de navigation, les informations utilisateur, etc. S'il est bien utilisé, il peut réduire la charge du contrôleur et garder le code bien rangé.

Comment définir et utiliser des compositeurs de vue à Laravel.

Qu'est-ce que le compositeur View?

Voir le compositeur est une fonction de rappel ou une méthode de classe. Lorsqu'une vue est rendue, Laravel appellera automatiquement ce rappel ou cette méthode et vous permettra de lier des données dans la vue. Vous pouvez le comprendre comme un "préparateur de données avant le chargement de la vue".

Par exemple: si vous avez plusieurs pages qui doivent afficher le nom d'utilisateur de l'utilisateur actuellement connecté, au lieu de passer $user une fois dans chaque contrôleur, il est préférable d'utiliser un compositeur de vue pour le gérer uniformément.

Comment définir et utiliser des compositeurs de vue à Laravel.

Comment définir un compositeur de vue

L'endroit où le compositeur de vue est défini est généralement dans App\Providers\ViewServiceProvider . Vous pouvez enregistrer votre logique ici.

 Utiliser illuminate \ support \ FACADES \ View;

Boot de fonction publique ()
{
    Voir :: Compositeur (
        'partials.sidebar', // Spécifiez la vue pour lier \ app \ ViewComposers \ SideBarComposer :: class // classe correspondante);
}

Vous pouvez également lier plusieurs vues à la fois:

Comment définir et utiliser des compositeurs de vue à Laravel.
 View :: Composer ([«Partials.sidebar», «Partials.header»], SidebarCompoSer :: class);

Si vous souhaitez prendre effet sur toutes les vues, vous pouvez utiliser View::composers('*') , mais il n'est pas recommandé de l'abuser.


Écrivez une classe de compositeur View

Créez un fichier de classe, tel que app/ViewComposers/SidebarComposer.php , avec la structure comme suit:

 Namespace App \ ViewComposes;

Utiliser illuminate \ View \ View;
Utiliser illuminate \ support \ FACADES \ Auth;

bobarcomposer de classe
{
    Fonction publique Compose (View $ View)
    {
        $ View-> avec ('utilisateur', auth :: user ());
    }
}

De cette façon, toutes les vues liées à ce compositeur peuvent utiliser directement la variable $user .

Remarque: $view->with() injectera des variables dans la vue, ce qui est la même que la façon dont vous transmettez les paramètres dans le contrôleur.


Scénarios et suggestions d'utilisation réelles

  • Barre de navigation globale : injecter les données du menu et la liste des liens après le jugement de l'autorisation.
  • Avatar de l'utilisateur / Informations : Obtenez uniformément les informations utilisateur actuelles du système d'authentification.
  • Définissez dynamiquement les données SEO : telles que le titre, la description, etc., bien qu'il soit plus courant de traiter dans le contrôleur.
  • Widgets statistiques : tels que les commentaires récents, le nombre de visiteurs, etc.

Quelques suggestions pratiques:

  • Écrivez des compositeurs dans différentes régions séparément, tels que SidebarComposer et HeaderComposer , et ne les mélangez pas ensemble.
  • Ne faites pas trop de logique complexe dans le compositeur, en particulier les requêtes de base de données pour éviter d'affecter les performances.
  • Si certaines données doivent être mises en cache, vous pouvez ajouter une couche de logique de cache au compositeur, comme l'utilisation de la façade de cache de Laravel.
  • N'oubliez pas d'enregistrer le compositeur à ViewServiceProvider , sinon il ne prendra pas effet.

Résumons

Le compositeur du cœur de vue consiste à préparer automatiquement les données requises avant le rendu, en réduisant le code en double. Son utilisation n'est pas compliquée, mais elle est facilement négligée ou mal utilisée. Tant que vous organisez correctement votre structure, cela peut vous aider à découpler les dépendances de données entre les contrôleurs et les vues.

Fondamentalement, c'est tout.

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 de ce site Web
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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1543
276
Comment implémenter un système de référence à Laravel? Comment implémenter un système de référence à Laravel? Aug 02, 2025 am 06:55 AM

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,

Comment implémenter les indicateurs de fonctionnalité dans une application Laravel? Comment implémenter les indicateurs de fonctionnalité dans une application Laravel? Jul 30, 2025 am 01:45 AM

ChoOSEAFEUREFLAGSTATTECYSUCHASCONFIG, basé sur la base de données, Orthird-PartyToolsLILLFlagsmith.2.SetUpadatabase-DrivensystemByCreatAmamigrationForaFeate_Flagstablewithname, Activé, Andrulesfields, Therunthemigration.3.CreateafateAtteflagModelwithe

Comment construire une API REST avec Laravel? Comment construire une API REST avec Laravel? Jul 30, 2025 am 03:41 AM

Créer un nouveau projet Laravel et démarrer le service; 2. Générez le modèle, la migration et le contrôleur et exécuter la migration; 3. Définissez l'itinéraire RESTful dans les routes / api.php; 4. Implémentez la méthode d'addition, de suppression, de modification et de requête dans Post Controller et renvoyez la réponse JSON; 5. Utilisez Postman ou Curl pour tester la fonction API; 6. Ajouter éventuellement l'authentification de l'API via Sanctum; Enfin, obtenez une structure claire, Laravelrestapi complète et extensible, adaptée aux applications pratiques.

Que sont les contrats de référentiel à Laravel? Que sont les contrats de référentiel à Laravel? Aug 03, 2025 am 12:10 AM

Le modèle de référentiel est un modèle de conception utilisé pour découpler la logique métier à partir de la logique d'accès aux données. 1. Il définit les méthodes d'accès aux données via des interfaces (contrat); 2. Les opérations spécifiques sont implémentées par la classe de référentiel; 3. Le contrôleur utilise l'interface par injection de dépendance et ne contacte pas directement la source de données; 4. Les avantages incluent un code soigné, une testabilité solide, une maintenance facile et une collaboration d'équipe; 5. Applicable aux projets moyens et grands, les petits projets peuvent utiliser directement le modèle.

Qu'est-ce que l'ORM éloquent à Laravel? Qu'est-ce que l'ORM éloquent à Laravel? Jul 29, 2025 am 03:50 AM

Eloquentorm est le système de cartographie relationnel d'objet intégré de Laravel. Il exploite la base de données via la syntaxe PHP au lieu de SQL native, ce qui rend le code plus concis et plus facile à maintenir; 1. Chaque tableau de données correspond à une classe de modèle, et chaque enregistrement existe comme instance de modèle; 2. Adopter le mode d'enregistrement actif et l'instance du modèle peut être enregistrée ou mise à jour par elle-même; 3. Prise en charge de l'affectation par lots et l'attribut à remplissage $ doit être défini dans le modèle pour garantir la sécurité; 4. Fournir un fort soutien relationnel, comme un à un, un-à-plusieurs, plusieurs à plusieurs, etc., et vous pouvez accéder aux données associées via des appels de méthode; 5. Constructeur de requête intégré, où, OrderBy et d'autres méthodes peuvent être appelés enchaînés pour construire des requêtes; 6. Prise en charge des accessoires et des modificateurs, qui peuvent formater le numéro lors de l'obtention ou de la définition d'attributs.

Comment utiliser les accessoires et les mutateurs en éloquent à Laravel? Comment utiliser les accessoires et les mutateurs en éloquent à Laravel? Aug 02, 2025 am 08:32 AM

AccessorsandMutatorsInLaravel'SeloventoralLowyoutOrOrorManipulateModelatRributes Pendant ce temps

Utilisation des demandes de formulaire de validation dans Laravel. Utilisation des demandes de formulaire de validation dans Laravel. Jul 30, 2025 am 05:04 AM

Utilisez des formulaires pour extraire la logique de vérification de formulaire complexe du contrôleur, améliorant la maintenabilité du code et la réutilisabilité. 1. Méthode de création: générer la classe de demande via la commande artisan make: demande; 2. Règles de définition: définir la logique de vérification du champ dans la méthode des règles (); 3. Utilisation du contrôleur: recevez directement les demandes avec cette classe en tant que paramètre, et Laravel vérifie automatiquement; 4. Jugement d'autorisation: Contrôler les autorisations des utilisateurs via la méthode Authorize (); 5. Règles d'ajustement dynamique: renvoyez dynamiquement différentes règles de vérification en fonction du contenu de la demande.

Comment utiliser des sous-requêtes en éloquente à Laravel? Comment utiliser des sous-requêtes en éloquente à Laravel? Aug 05, 2025 am 07:53 AM

LaraveLolientsSupportsSubQueriesInselect, d'où, et d'orderByClauses, permettant à la FlexibledataRetrievalwithoutrawsql; 1.Useesectsub () ToaddCompuledColumns likepostcountperUser; 2.Usefromsub () OrclosionInfrom () totaleaTSubQueryArableforgouredData;

See all articles