Laravel 中的页眉页脚控制器

Dev*_*per 0 php laravel

我第一次在 Laravel 上工作

我必须在页眉和页脚中动态创建前端菜单 [类别列表将来自数据库]。我必须为此使用哪个控制器。?此框架中可用于将数据发送到页眉和页脚的任何通用控制器。

当我在 HomeController 索引 Action 中收到数据时,它仅可用于主页。

class HomeController {
public function index() 
    {
        $categories = Category::get();
        return view('home', compact('categories'));
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

Jas*_*onK 6

这是View Composers的完美案例:

视图组合器是在呈现视图时调用的回调或类方法。如果您希望在每次渲染视图时将数据绑定到视图,视图编辑器可以帮助您将该逻辑组织到一个位置。

您可以通过将视图数组作为第一个参数传递给 composer 方法,一次将视图编辑器附加到多个视图:

View::composer(['partials.header', 'partials.footer'], function ($view) {
    $view->with('categories', [1, 2, 3]); // bind data to view
});
Run Code Online (Sandbox Code Playgroud)

现在您可以简单地$categories在您的视图中检索(刀片模板)。

提示:通常的做法是创建一个名为的新服务提供者ComposerServiceProvider,并将上述 Composer 逻辑放在boot()方法中。