1、在App\Providers\AppServiceProvider 添加
view()->composer(
'*', //模板名多个可用数组"['blade1', 'blade2']"
'App\Home\Controllers\BaseController@HomeInitData' //方法名或者类中的方法
);
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; //add fixed sql
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
Schema::defaultStringLength(191); //add fixed sql
view()->composer(
'*', //模板名
'App\Home\Controllers\BaseController@HomeInitData' //方法名或者类中的方法
);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
if ($this->app->environment() !== 'production') {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
}
}
2、实现具体的方法 头部别忘了
use Illuminate\View\View;
public function HomeInitData(View $view)
{
$menuTree = $this->menuTree();
$setting = $this->getSetting();
$data = [
'navs' => !empty($menuTree) ? $menuTree : [],
'setting' => !empty($setting) ? $setting : [],
'seo' => [
'title' => !empty($setting['seo_title']) ? $setting['seo_title'] : getenv('APP_NAME'),
'keywords' => !empty($setting['seo_keywords']) ? $setting['seo_keywords'] : getenv('APP_NAME'),
'description' => !empty($setting['seo_description']) ? $setting['seo_description'] : getenv('APP_NAME'),
],
'links' => $this->getFlink()
];
//dd($data);
$view->with('common',$data);//传递变量
}