如何将数组中的所有导航项传递给Laravel中的所有视图 [英] How to pass all nav-items from an array to all views in Laravel

查看:74
本文介绍了如何将数组中的所有导航项传递给Laravel中的所有视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I know this is a bit silly and probably been asked many times but for this one is unique. I'm just asking just for the sake of learning. I have these arrays inside home():

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

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

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

So it's like Nav items. And these items, I want them to be available in all views. Help would be much appreciated. Please respect. Thank you.

推荐答案

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

You can pass any data with View::share() method in App/Providers/AppServiceProvider.php file. Please check following codes;

<?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变量

After than you can use $menus and $submenus1 variables anywhere

这篇关于如何将数组中的所有导航项传递给Laravel中的所有视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆