你好,我正在使用laravel 5.2构建一个应用程序。我有一个消息系统,我想在我的布局中填充一些部分,例如“当前未读消息计数”和最近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
访问数据。