您的位置:首页 > 编程学习 > > 正文

laravel数据库管理教程(Laravel基础_关于view共享数据的示例讲解)

更多 时间:2021-10-01 01:35:12 类别:编程学习 浏览量:1949

laravel数据库管理教程

Laravel基础_关于view共享数据的示例讲解

1.所有视图共享数据(share)

当所有视图都需要同一个数据时,使用视图工厂的share方法。

全局帮助函数view,如果传入参数,则返回Illuminate\View\View实例,不传入参数则返回Illuminate\View\Factory实例。所以我们可以通过在服务提供者(app\Providers\AppServiceProvider.php)的boot方法中使用如下方式实现视图间共享数据:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • /**
  •  * Bootstrap any application services.
  •  *
  •  * @return void
  •  */
  • public function boot()
  • {
  •  //视图间共享数据
  •  view()->share('share','share');
  • }
  • 然后在你的任何一个视图文件中这样写:

  • ?
  • 1
  • {{ $share }}
  • 就会输出这个变量。

    2.部分视图共享数据(Composer)

    当一部分视图文件中需要同一个数据的时候,比如登录信息,可以通过视图工厂的composer方法实现。

    简单起见,我们还是基于AppServiceProvider,不去单独创建服务提供者。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • /**
  •  * Bootstrap any application services.
  •  *
  •  * @return void
  •  */
  • public function boot()
  • {
  •  //视图间共享数据
  •  view()->share('share','share');
  •  
  •  //视图Composer
  •  view()->composer('admin',function($view){
  •   $view->with('user',array('name'=>'lili','age'=>'18'));
  •  });
  • }
  • 这样,在admin视图模板文件中就可以使用一下代码来输出。

  • ?
  • 1
  • 2
  • {{ $user['name'] }}
  • {{ $user['age'] }}
  • 你也可以传递数据到多个视图:

  • ?
  • 1
  • 2
  • 3
  • view()->composer(['hello','home'],function($view){
  •  $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
  • });
  • 甚至所有视图(使用通配符*):

  • ?
  • 1
  • 2
  • 3
  • view()->composer('*',function($view){
  •  $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
  • });
  • 以上这篇Laravel基础_关于view共享数据的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/csdn_yasin/article/details/51995156

    您可能感兴趣