将数据共享到 Laravel 中没有路由的标头

在 Laravel 中,我会以这种方式创建一个视图。


Route -> Controller -> Blade to be displayed.

这意味着我将创建路线并将其指向一个控制器,该控制器将返回我的刀片视图。任何日期都将通过控制器传递,例如:


return view('layouts.cart')->with('cartDetails', $displayCart);

我的问题是,如果该视图没有路由,我将如何将数据传递到所有页面中使用的标题?


在示例中,我有一个主刀片页面,其中包含:


header.blade.php


a different body page each time


footer.blade.php

我希望header.blade.php包含一些应显示在所有页面中的数据。我可以通过调用路由并使用 ajax 显示数据来做到这一点,但我想知道是否有 Laravelish 方法来做到这一点。


编辑:

是View::Share唯一的选择吗?


一只甜甜圈
浏览 134回答 1
1回答

ibeautiful

是的,View::share是一种完成您需要的方法。从文档:与所有视图共享数据有时,您可能需要与应用程序呈现的所有视图共享一段数据。您可以使用视图外观的share方法来实现。通常,您应该share 在服务提供者的boot方法中调用。您可以自由地将它们添加到 AppServiceProvider或生成单独的服务提供商来容纳它们:<?phpnamespace App\Providers;use Illuminate\Support\Facades\View;class AppServiceProvider extends ServiceProvider{&nbsp; &nbsp; /**&nbsp; &nbsp; &nbsp;* Register any application services.&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* @return void&nbsp; &nbsp; &nbsp;*/&nbsp; &nbsp; public function register()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; //&nbsp; &nbsp; }&nbsp; &nbsp; /**&nbsp; &nbsp; &nbsp;* Bootstrap any application services.&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* @return void&nbsp; &nbsp; &nbsp;*/&nbsp; &nbsp; public function boot()&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; View::share('key', 'value');&nbsp; &nbsp; }}选择鉴于这一事实,要在众多的意见,以共享相同的数据,并特意使用header.blade.php哪位我认为是一个partial-您可以包含在文件中的数据,并在总体布局插入。
打开App,查看更多内容
随时随地看视频慕课网APP