在每个请求中将数据传递到 Laravel 5.2 中的布局

Passing data to layout in Laravel 5.2 on each request

您好,我正在使用 laravel 5.2 构建一个应用程序,我有一个消息系统,我想在我的布局中填充一些部分,例如 'Current Unread Messages Count' 和最近 5 条消息的摘要。

我打算采用的方法是调用方法获取我需要的数据,然后将数据传递给布局,然后呈现视图。

我知道这可以用视图编辑器来完成,但我不知道怎么做。任何输入将不胜感激。提前致谢

是的,您可以使用 view composer

假设您有一个 my_menu.blade.php 视图文件,并且您想要将一些数据传递给它。在服务提供商的 boot 方法中执行:

//every time the my_menu view is rendered, this callback will be called
View::composer('my_menu', function( $view )
{
    $data = //get your data here

    //pass the data to the view
    $view->with( 'data', $data );
} );

现在,每次呈现 my_menu 视图时,Laravel 都会调用您的回调,获取数据并将数据传递给视图。因此,在您的视图文件中,您可以使用 $data

访问数据