我想创建一个全局变量并将其传递到所有视图中,所以我可以将此变量放入所有刀片模板中
基本上,我需要将我的常规设置控制器值传递到常见的刀刃视图中,例如header.blade.php
预先感谢
答案 0 :(得分:3)
为此,您需要像下面这样在App-> Providers-> AppServiceProvider.php中添加一些代码:
public function boot()
{
view()->composer('*',function($view){
$Settings = Settings::firstOrNew(['id' => '1']);
$view->with('Settings', $Settings );
});
}
答案 1 :(得分:1)
根据Laravel文档,您可以使用View Composer:
https://laravel.com/docs/5.8/views#view-composers
在app> AppServiceProvider和引导方法中使用此功能,您可以使用此方法将参数传递给特定视图。如果您有每次渲染视图时都希望绑定到视图的数据。这种方法完全可以满足您的需求。例如,您想将名为userName
的参数传递给标题。
View()->composer('header', function ($view){
$userName= "username"
$view->with(['userName'=>$userName]);
});