Laravel基礎(chǔ)_關(guān)于view共享數(shù)據(jù)的示例講解
1.所有視圖共享數(shù)據(jù)(share)
當(dāng)所有視圖都需要同一個數(shù)據(jù)時,使用視圖工廠的share方法。
全局幫助函數(shù)view,如果傳入?yún)?shù),則返回Illuminate\View\View實例,不傳入?yún)?shù)則返回Illuminate\View\Factory實例。所以我們可以通過在服務(wù)提供者(app\Providers\AppServiceProvider.php)的boot方法中使用如下方式實現(xiàn)視圖間共享數(shù)據(jù):
/** * Bootstrap any application services. * * @return void */ public function boot() { //視圖間共享數(shù)據(jù) view()->share('share','share'); }
然后在你的任何一個視圖文件中這樣寫:
{{ $share }}
就會輸出這個變量。
2.部分視圖共享數(shù)據(jù)(Composer)
當(dāng)一部分視圖文件中需要同一個數(shù)據(jù)的時候,比如登錄信息,可以通過視圖工廠的composer方法實現(xiàn)。
簡單起見,我們還是基于AppServiceProvider,不去單獨創(chuàng)建服務(wù)提供者。
/** * Bootstrap any application services. * * @return void */ public function boot() { //視圖間共享數(shù)據(jù) view()->share('share','share'); //視圖Composer view()->composer('admin',function($view){ $view->with('user',array('name'=>'lili','age'=>'18')); }); }
這樣,在admin視圖模板文件中就可以使用一下代碼來輸出。
{{ $user['name'] }} {{ $user['age'] }}
你也可以傳遞數(shù)據(jù)到多個視圖:
view()->composer(['hello','home'],function($view){ $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg')); });
甚至所有視圖(使用通配符*):
view()->composer('*',function($view){ $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg')); });
以上這篇Laravel基礎(chǔ)_關(guān)于view共享數(shù)據(jù)的示例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
分享微信掃碼支付開發(fā)遇到問題及解決方案-附Ecshop微信支付插件
微信掃碼支付在購物商城非常流行,本篇文章給大家分享微信掃碼支付開發(fā)遇到問題及解決方案-附Ecshop微信支付插件,需要的朋友可以參考下2015-08-08分享PHP源碼批量抓取遠(yuǎn)程網(wǎng)頁圖片并保存到本地的實現(xiàn)方法
本篇文章給大家分享PHP源碼批量抓取遠(yuǎn)程網(wǎng)頁圖片并保存到本地的實現(xiàn)方法,對批量抓取網(wǎng)頁圖片相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-12-12php提示Call-time pass-by-reference has been deprecated in的解決方法
今天一個客戶配置服務(wù)器的時候出現(xiàn)了這個問題,主要是因為他選錯php.ini的問題,默認(rèn)先dist那個比較好,實際應(yīng)用就選擇這個2012-05-05