代码之家  ›  专栏  ›  技术社区  ›  Code Lover

Laravel将变量或对象共享给管理中的所有控制器

  •  0
  • Code Lover  · 技术社区  · 6 年前

    在Laravel 6中,我正在创建一个管理区域。为此,我有一个简单的特点有一个管理侧边栏导航项目数组。为了显示菜单项,我在view()中将其作为变量传递,如下所示

    ....
    
    use AdminMenu;
    
    public function index()
    {
        // nav items
        $navItems = $this->navItems();
    
        //view
        return view('admin.dashboard.index', compact('navItems'));
    }
    
    ....
    

    现在使用这种方法,我必须使用trait并在每个方法中的每个控制器中传递变量。

    问题

    所以我要找的是一条路,这样我就可以在一个地方 这个变量和它将在所有 Admin/Controllers (供参考。 namespace App\Http\Controllers\Admin )以及 它的观点。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Darryl E. Clarke LukePOLO    6 年前

    在你的性格里 navItems() 方法可以放在:

    View::share('navItems', $whateverTheValueIs);
    

    您还需要导入Facade进行查看;

    use Illuminate\Support\Facades\View;

    推荐文章