久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Laravel 5 多個視圖共享數(shù)據(jù)的方法

 shopnc 2017-06-15
我們都知道模板一般會用到繼承,,導(dǎo)航欄就是一個很好的例子,但是導(dǎo)航欄的數(shù)據(jù)如何共享,,比如有個導(dǎo)航的文件叫在view/navigation.blade.php
為了簡單一點,,文件里只有設(shè)置了一個變量
1
{{ $cqh }}
現(xiàn)在的要求是每個頁面都會用到這個變量,如何共享這個數(shù)據(jù)呢,?
一般這樣的操作我會在Laravel服務(wù)的boot方法里設(shè)置,,下面介紹兩種共享數(shù)據(jù)的方法

方法一:使用View:share方法,如CqhServiceProvider里

1
2
3
4
public function boot()
{
    View::share('cqh','chenqionghe');
}
這是使用外觀模式,,也可以直接使用view()方法,,
1
view()->share('cqh', 'chenqionghe');

 

方法二:使用composer方法單獨對這個navigation.blade.php進(jìn)行傳送數(shù)據(jù),方法如下
1
2
3
4
5
6
public function boot()
{
    view()->composer('navigation', function ($view) {
        $view->with('cqh','chenqionghe');
    });
}
以上是使用閉包的形式來完成這個操作,,其實這和路由一樣,,也可以用類來代替,Laravel里叫組件,,方法如下
1
2
3
4
public function boot()
{
    View::composer('navigation', 'App\Http\ViewComposers\MyViewComposer');
}
上面這樣就是注冊了視圖組件,,并且在每次 navigation視圖渲染的時候,MyViewComposer@compose 都將會被執(zhí)行,。
下面我們來看這個組件怎么定義
1
2
3
4
5
6
7
8
9
<?php namespace App\Http\ViewComposers;
use Illuminate\Contracts\View\View;
class MyViewComposer
{
    public function compose(View $view)
    {
        $view->with('cqh','chenqionghe');
    }
}
在視圖被渲染之前,,視圖組件的 compose 方法就會被調(diào)用,并且傳入一個 Illuminate\Contracts\View\View 實例,。你可以使用 with 方法來把數(shù)據(jù)綁定到 view,。
注意:方法一和方法二其實是有區(qū)別的,方法一是對所有的視圖都傳遞的cqh數(shù)據(jù),,而方法二只是對navigation視圖傳遞了cqh數(shù)據(jù)
如果方法二要達(dá)到方法一的效果,,可以這樣
1
2
3
4
View::composer('*', function($view)
{
    //
});
這樣就會對所有視圖進(jìn)行傳遞了
也可以針對多個視圖指定MyViewComposer組件
1
View::composer(['navigation', 'footer'], 'App\Http\ViewComposers\MyViewComposer');

 

也可以使用 composers 方法來同時定義一群視圖組件
1
2
3
4
5
View::composers([
    'App\Http\ViewComposers\AdminComposer' => ['admin.index', 'admin.profile'],
    'App\Http\ViewComposers\UserComposer' => 'user',
    'App\Http\ViewComposers\ProductComposer' => 'product'
]);

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多