Maison > Questions et réponses > le corps du texte
Pour les variables utilisées dans la mise en page, si les paramètres sont transmis depuis le contrôleur, l'opération doit être répétée pour chaque vue !
Comment résoudre le problème de la transmission du résultat à la mise en page après un calcul pour que toutes les vues soient utilisées (je ne veux pas que le code métier apparaisse dans la vue Mise en page).
par exemple :
1. Gestion des autorisations, définissez différents menus en fonction des différents utilisateurs !
2. Numéros dynamiques dans le menu, tels que [Ordre d'aujourd'hui (50)], ce 50 exige que tous les contrôleurs obtiennent les données puis les transmettent à la vue !
迷茫2017-05-16 16:58:01
Il existe deux façons de le résoudre :
Premier : TraditionnelViewComposerProvider
class NavViewComposerProvider extends ServiceProvider {
public function boot(){
view()->composer('partials.nav', function ($view) {
$view->with('userAtLayout', User::find(Auth::user()->id));
//根据自己的需求改呗
});
}
}
Deuxièmement, les nouvelles fonctionnalités de Laravel 5.1 @inject :
@inject('var','Class')
// var 变量名 Class绑定的类名
Par exemple, vous pouvez faire ceci :
@inject('nav','App\SiteNav')
Interrogez simplement les données dans SiteNav.
Digression : Lisez attentivement la documentation et vous pourrez résoudre 80% des problèmes que vous rencontrez.
Joyeux hacking
PHPz2017-05-16 16:58:01
Les méthodes mentionnées ci-dessus ne sont pas fiables et vous ne pouvez pas obtenir les paramètres d'URL actuels et les transmettre à votre fonction