国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

Laravel 5 多個視圖共享數據的方法

2020-03-22 20:17:14
字體:
來源:轉載
供稿:網友
  • 我們都知道模板一般會用到繼承,導航欄就是一個很好的例子,但是導航欄的數據如何共享,比如有個導航的文件叫在view/navigation.blade.php為了簡單一點,文件里只有設置了一個變量
    {{ $cqh }}
    現在的要求是每個頁面都會用到這個變量,如何共享這個數據呢?一般這樣的操作我會在Laravel服務的boot方法里設置,下面介紹兩種共享數據的方法

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

    	html' target='_blank'>public function boot()	{		View::share('cqh','chenqionghe');	}
    這是使用外觀模式,也可以直接使用view()方法,
    view()->share('cqh', 'chenqionghe');
    方法二:使用composer方法單獨對這個navigation.blade.php進行傳送數據,方法如下
    	public function boot()	{		view()->composer('navigation', function ($view) {			$view->with('cqh','chenqionghe');		});	}
    以上是使用閉包的形式來完成這個操作,其實這和路由一樣,也可以用類來代替,Laravel里叫組件,方法如下
    	public function boot()	{		View::composer('navigation', 'App/Http/ViewComposers/MyViewComposer');	}
    上面這樣就是注冊了視圖組件,并且在每次 navigation視圖渲染的時候,MyViewComposer@compose 都將會被執行。下面我們來看這個組件怎么定義
    <?php namespace App/Http/ViewComposers;use Illuminate/Contracts/View/View;class MyViewComposer{    public function compose(View $view)    {        $view->with('cqh','chenqionghe');    }}
    在視圖被渲染之前,視圖組件的 compose 方法就會被調用,并且傳入一個 Illuminate/Contracts/View/View 實例。你可以使用 with 方法來把數據綁定到 view。注意:方法一和方法二其實是有區別的,方法一是對所有的視圖都傳遞的cqh數據,而方法二只是對navigation視圖傳遞了cqh數據如果方法二要達到方法一的效果,可以這樣
    View::composer('*', function($view){    //});
    這樣就會對所有視圖進行傳遞了也可以針對多個視圖指定MyViewComposer組件
    View::composer(['navigation', 'footer'], 'App/Http/ViewComposers/MyViewComposer');
    也可以使用 composers 方法來同時定義一群視圖組件
    View::composers([    'App/Http/ViewComposers/AdminComposer' => ['admin.index', 'admin.profile'],    'App/Http/ViewComposers/UserComposer' => 'user',    'App/Http/ViewComposers/ProductComposer' => 'product']);
    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 岐山县| 澄迈县| 永川市| 遂昌县| 沅江市| 沙雅县| 裕民县| 土默特左旗| 镇坪县| 奉节县| 乌鲁木齐县| 新兴县| 海口市| 东莞市| 阿坝县| 扶沟县| 巴林左旗| 大渡口区| 如皋市| 新津县| 天柱县| 江山市| 许昌市| 延边| 闵行区| 炉霍县| 蒲城县| 甘泉县| 陆丰市| 浦北县| 恩施市| 漳浦县| 三都| 井研县| 肇源县| 元谋县| 达日县| 仙居县| 耿马| 玉田县| 绥芬河市|