laravel 公共模板变量共享问题
2022-10-07 本文已影响0人
追梦人在路上不断追寻
我们都知道在laravel中,默认的模板是blade,这是一款非常不错的php模板引擎。在模板中,对于公共头部,公共尾部我们一般是单独提取出来的,这样所有的页面都可以共用这些模板。
对于公共模板如何赋值,这是我们接下来需要介绍的。
在laravel中,对于公共模板变量赋值,我们一般都是通过 ServiceProvider 来提供的。
对于 laravel 里的服务、第三方包的服务,都是通过继承 ServiceProvider实现的,ServiceProvider是一个抽象类,通过继承这个抽象类,我们的服务就集成到 laravel 中了。
创建ServiceProvider
php artisan make:provider CommonviewServiceProvider
'providers' => [
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\CommonviewServiceProvider::class,
]
赋值公共模板变量
在 ServiceProvider boot 方法中,对变量进行赋值。
view()->composer('public.header', function($view){
$infos = Info::all();//调用Info Model 类,获取所有数据
$view->with('infos ', $infos );//逗号分隔,前面表示模板变量key,后面是它的值。
});