如何将数组中的所有导航项传递给Laravel中的所有视图

时间:2018-12-13 06:24:14

标签: arrays laravel

我知道这有点愚蠢,可能被问过很多次,但是对于这个人来说是独一无二的。我只是为了学习而问。我在home()中有这些数组:

public function home()
    {
        $menus = [ '视频', '直播', '路亚', '海钓', '渔获' ];
        $submenus1 = [ '视频', '直播', '路亚', ];

        return view('/layout', [
            'menus' => $menus,
            'submenus1' => $submenus1,
        ]);
    }

这就像导航项目一样。这些项目,我希望它们在所有视图中都可用。帮助将不胜感激。请尊重。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用View::share()文件中的App/Providers/AppServiceProvider.php方法传递任何数据。请检查以下代码;

<?php

namespace App\Providers;

use Illuminate\Support\Facades\View;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $menus = [ '视频', '直播', '路亚', '海钓', '渔获' ];
        $submenus1 = [ '视频', '直播', '路亚', ];

        View::share('menus', $menus);
        View::share('submenus1', $submenus1);
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('path.public', function() {
            return base_path('public_html');
        });
    }
}

之后,您可以在任何地方使用$menus$submenus1变量