一、场景:
在一个公共视图中有一侧边栏的数据。每个页面都需要展示。不能在每一个展示页面都获取数据来渲染一次。
二、解决办法:
语法:
View::composer('模板地址',function($view){
//实现的逻辑
});
加载模板的时候都会执行右边的函数
位置:
一般放在App\Providers\AppServiceProvider中;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*注册完之后调用
* @return void
*/
public function boot()
{
//mb4String 767/4
Schema::defaultStringLength(191);
//视图合成器 注入专题数据
\View::composer('layouts.sidebar',function($view){
$topics = \App\Http\Model\Topic::all();
$view->with('topics',$topics);
});
}
/**
* Register any application services.
*注册前调用
* @return void
*/
public function register()
{
//
}
}
网友评论