成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

大數據
我們都知道模板一般會用到繼承,導航欄就是一個很好的例子,但是導航欄的數據如何共享

 

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

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

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

 

方法二:使用composer方法單獨對這個navigation.blade.php進行傳送數據,方法如下
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 都將會被執行。
下面我們來看這個組件怎么定義
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 方法就會被調用,并且傳入一個 Illuminate\Contracts\View\View 實例。你可以使用 with 方法來把數據綁定到 view。
 
 
注意:方法一和方法二其實是有區別的,方法一是對所有的視圖都傳遞的cqh數據,而方法二只是對navigation視圖傳遞了cqh數據
如果方法二要達到方法一的效果,可以這樣
1
2
3
4
View::composer('*', function($view)
{
    //
});
這樣就會對所有視圖進行傳遞了
 
也可以針對多個視圖指定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'
]);

 

 

責任編輯:李英杰 來源: 博客園
相關推薦

2025-01-07 12:58:28

2023-12-20 11:12:39

共享內存.NET數據共享

2010-10-26 16:43:58

查看Oracle索引

2020-10-25 08:56:31

數據分析數據大數據

2010-11-15 11:28:21

oracle自動啟動

2021-03-26 05:54:00

C#數據方法

2021-06-10 00:13:43

C#隊列數據

2010-11-09 15:06:52

SQL Server動

2011-07-14 17:50:50

domino數據庫

2023-07-11 16:01:47

共享數據開發

2022-04-12 09:30:00

共享代碼塊數據集數據科學家

2009-01-11 09:28:00

局域網共享上網

2011-07-05 10:48:41

javascript

2009-04-07 10:45:43

Oracle視圖創建

2010-09-09 15:13:33

SQL更新數據

2019-01-16 18:39:24

數據開發模型

2010-11-16 10:57:18

oracle創建視圖

2010-05-10 18:30:31

Oracle多表創建

2011-05-30 14:42:19

布線

2011-05-07 09:32:31

Tomcat
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美 日韩 视频 | 国产精品高潮呻吟久久 | 91xxx在线观看 | 欧洲精品视频一区 | 日韩av一区二区在线观看 | 欧美一级三级在线观看 | 99免费视频 | 国产一级在线观看 | 亚洲精品欧美一区二区三区 | 伊人精品在线视频 | 中文字字幕一区二区三区四区五区 | 亚洲成人一区二区三区 | 国产一区二区欧美 | 激情五月激情综合网 | 中国美女av| 欧美在线高清 | 九九亚洲精品 | 91精品国产综合久久久久 | 午夜影院在线观看 | 欧美性video| 日韩在线欧美 | 久久九九99 | 中文字幕在线精品 | 亚洲欧美日韩中文字幕一区二区三区 | 一级黄色大片 | www.操com| 成人午夜影院 | 黄色日批视频 | 国产精品日韩欧美一区二区三区 | 久久免费视频1 | 精品国产一区二区三区久久久蜜月 | 青青草国产在线观看 | av日日操| 精品国产一区久久 | 欧美精品乱码久久久久久按摩 | 欧美日韩一区在线 | 久久久精选 | 91av在线免费播放 | www.亚洲视频.com| 欧美一级黄视频 | 国外成人免费视频 |