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

首頁 > 語言 > PHP > 正文

Laravel向公共模板賦值方法總結

2024-05-05 00:09:54
字體:
來源:轉載
供稿:網友

開發過程中許多時候都會向公共模板賦值,比如頂部導航欄,頁面底部等等,不可能在每個控制器中都賦值一遍。

Laravel 中解決辦法如下: 修改

App/Providers/AppServiceProvider

在boot方法中添加

View()->composer('common.header',function ($view){ //common.header 對應Blade模板 $view->with('key', 'value'); });

 

也可以向所有模板中賦值

View()->share('key', 'value');

 

view composers 與視圖有關,用在一個service provider 的boot()函數里,就是讓一個view加載的時候,由于view composer的作用,去調用某個函數傳個參啊啥的。

1,創建service provider

php artisan make:provider ComposerServiceProvider

再把ComposerServiceProvider加到config/app.php里面

2,寫view composer

public function boot()  {    view()->composer(      'app', //模板名      'App/Http/ViewComposers/MovieComposer' //方法名或者類中的方法    );  }

意思是一旦加載app.blade.php,就執行App/Http/ViewComposers/MovieComposer里的composer函數(這里之所以執行composer函數是默認的),如果你想換一個就

view()->composer('app','App/Http/ViewComposers/MovieComposer@foobar'); //自己定義的方法

這里就執行foobar函數了

App/Http/ViewComposers/MovieComposer.php里這么寫

<?phpnamespace App/Http/ViewComposers;use Illuminate/View/View;//**記得引入這個啊(因為在composer函數參數里使用了View類)**class MovieComposer{  public $movieList = [];  public function __construct()  {    $this->movieList = [      'Shawshank redemption',      'Forrest Gump',    ];  }  public function compose(View $view)  {    $view->with('latestMovie');  }}

3,其他 當所有模板都要,用*正則表達式

view()->composer('*', function (View $view) {  //logic goes here});

想要指定多個view使用,用數組包起來

view()->composer(['nav', 'footer'],'App/Http/ViewComposers/MovieComposer');或者 view()->composer(['


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 仁怀市| 丰原市| 西乌| 四川省| 阿拉善盟| 建阳市| 阿拉尔市| 苏尼特左旗| 涡阳县| 钦州市| 新津县| 余江县| 枣阳市| 遂川县| 郯城县| 华容县| 年辖:市辖区| 肇州县| 浦东新区| 新昌县| 滨海县| 九龙坡区| 中牟县| 克拉玛依市| 翁牛特旗| 嵩明县| 永宁县| 杂多县| 黄大仙区| 东乌珠穆沁旗| 丽水市| 东乌| 岱山县| 南江县| 伊金霍洛旗| 阳城县| 紫金县| 陇南市| 古交市| 成都市| 安顺市|