在laravel中全局循环

时间:2017-08-03 06:58:39

标签: laravel

我有设置控制器的选项,我需要在页眉和页脚上获取一些需要全局加载的数据。

我该怎么做?

我已经在本网站上阅读了一些问题,但没有一个像我预期的那样帮助我,或者我没有得到这些!无论哪种方式,我都需要你的帮助来解决我的这个问题。

感谢。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点

但其中一个在laravel文档中引用的是使用boot

<强> Sharing Data With All Views

  

有时,您可能需要与所有视图共享一段数据   由您的应用程序呈现。您可以使用该视图执行此操作   外观的分享方法。通常,您应该拨打电话进行分享   在服务提供商的引导方法中。您可以自由添加它们   AppServiceProvider或生成单独的服务提供者   容纳他们:

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        View::share('key', 'value');
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

您可以在AppServiceProvider.php

的启动方法中共享变量

例如,您有类别表和类别模型,并且您希望将其共享给所有视图

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $categories = Category::All();
        View::share('categories', 'categories');
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

但是如果您想为您的网站设置页眉和页脚,只需使用主文件并将其扩展到其他视图即可 document