一、場景:
在一個公共視圖中有一側(cè)邊欄的數(shù)據(jù)孩擂。每個頁面都需要展示狼渊。不能在每一個展示頁面都獲取數(shù)據(jù)來渲染一次。
二类垦、解決辦法:
語法:
View::composer('模板地址',function($view){
//實(shí)現(xiàn)的邏輯
});
加載模板的時候都會執(zhí)行右邊的函數(shù)
位置:
一般放在App\Providers\AppServiceProvider中狈邑;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*注冊完之后調(diào)用
* @return void
*/
public function boot()
{
//mb4String 767/4
Schema::defaultStringLength(191);
//視圖合成器 注入專題數(shù)據(jù)
\View::composer('layouts.sidebar',function($view){
$topics = \App\Http\Model\Topic::all();
$view->with('topics',$topics);
});
}
/**
* Register any application services.
*注冊前調(diào)用
* @return void
*/
public function register()
{
//
}
}