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

mat*_*lis 4 php laravel laravel-5 laravel-5.2

嗨我正在使用laravel 5.2构建一个应用程序我有一个消息传递系统,我想在我的布局中填充一些部分,如"当前未读消息计数"和最后5条消息的摘要.

我要采用的方法是调用方法获取我需要的数据,然后将数据传递给布局,然后渲染视图.

我知道这可以用视图作曲家完成,但我不知道如何.任何输入都会有很大的意义.提前致谢

Mop*_*ppo 5

是的,您可以使用视图编辑器执行此操作

假设您有一个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 );
} );
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢你的回答.你所说的作品我实际上发现了一个关于laracasts的视频,它很好地解释了这一点,甚至告诉你如何使ServiceProviders尽可能保持干净:) https://laracasts.com/series/laravel-5-fundamentals/剧集/ 25 (2认同)