Plusieurs fois au cours du processus de développement, des valeurs sont attribuées aux modèles publics, tels que la barre de navigation supérieure, le bas de la page, etc. Il est impossible d'attribuer des valeurs dans chaque contrôleur.
La solution dans Laravel est la suivante :
Modifier
AppProvidersAppServiceProvider
Ajouter
Vue dans le boot method ()->composer('common.header',function ($view){ //common.header correspond au modèle Blade
$view->with('key', 'value');
} );
Vous pouvez également attribuer des valeurs à tous les modèles
View()->share('key', 'value');
====================================== ==
Les compositeurs de vues sont liés aux vues. Ils sont utilisés dans la fonction boot() d'un fournisseur de services. Lorsqu'une vue est chargée, en raison du rôle de compositeur de vues, elle appelle un certain. fonction et passe les paramètres.
1, créez un fournisseur de services
php artisan make:provider ComposerServiceProvider
puis ajoutez ComposerServiceProvider à config/app.php
2, écrivez view composer
1 2 3 4 5 6 7 |
|
ce qui signifie qu'une fois app.blade.php chargé, la fonction AppHttpViewComposersMovieComposer
dans composer
est exécutée (la raison pour laquelle elle est exécutée ici La fonction composer est la fonction par défaut), si vous souhaitez la modifier, il suffit de
view()->composer('app','AppHttpViewComposersMovieComposer<a href="https://my.oschina.net/u/862816" class="referer" target="_blank">@foobar</a>');
//Votre propre méthode définie
La fonction foobar est exécutée ici
Écrivez ceci dans AppHttpViewComposersMovieComposer.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
3, autre
Lorsque tous les modèles sont requis, utilisez *expression régulière
1 2 3 |
|
Si vous souhaitez spécifier plusieurs vues à utiliser, enveloppez-les dans des tableaux
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Pour plus d'articles techniques liés à PHP, veuillez visiter le Tutoriel PHP colonne pour apprendre !
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!